Анализ сайта dylanfoundry.org
Основное Готовность: 45%
Домен
dylanfoundry.org
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Безопасность
Сайт небезопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте не найден защищенный протокол ssl и сайт не открывается по https!
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,57сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,57сек оптимальна.
Объем документа
35Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 35Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 5
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 5 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | //cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.0/css/bootstrap.min.css |
| stylesheet | text/css | //cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.0/css/bootstrap-responsive.min.css |
| stylesheet | text/css | //cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css |
| stylesheet | text/css | http://dylanfoundry.org/theme/css/style.css |
| stylesheet | text/css | http://dylanfoundry.org/theme/css/pygments.css |
Серверные заголовки
Кол-во: 5
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 5шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | nginx/1.24.0 |
| Date | Sat, 22 Aug 2026 09:36:59 GMT |
| Connection | keep-alive |
| ETag | "54f45cd0-8dd9" |
| Accept-Ranges | bytes |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере nginx.
Мета-теги Готовность: 32%
Title
Dylan Foundry
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 13, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Рекомендуем прописать канонический Url.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width, initial-scale=1.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Не найдено
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph не задана. Страница не оптимизирована под социальные сети. Мета-теги с разметкой Og помогают социальным роботам лучше структурировать Ваш сайт.
Все мета-теги
Кол-во: 1
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 1шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1.0 |
Оптимизация Готовность: 72%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 2 встречаются в тексте редко. Добавьте в контент страницы слова из тега <title>!
Абзацев с текстом 75 достаточно.
Среднее число слов в абзаце 29 достаточно.
Кол-во знаков контента 13399 на странице оптимально.
Кол-во слов 2327 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 10. Это прекрасно.
На странице присутствуют заголовки <h2> 9. Это хорошо.
На странице присутствуют заголовки <h3> 2.
Тошнота
3,74
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота страницы в пределах нормы 3,74.
Академич. тошнота
20,07%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| system | 14 | 0,60% |
| compiler | 14 | 0,60% |
| posted | 10 | 0,43% |
| mitchener | 10 | 0,43% |
| comments | 10 | 0,43% |
| streams | 10 | 0,43% |
| languages | 9 | 0,39% |
| debugging | 9 | 0,39% |
| design | 8 | 0,34% |
| function | 8 | 0,34% |
| current | 6 | 0,26% |
| language | 6 | 0,26% |
| windows | 6 | 0,26% |
| integration | 5 | 0,21% |
| interesting | 5 | 0,21% |
| gradual | 5 | 0,21% |
| typing | 5 | 0,21% |
| common | 5 | 0,21% |
| within | 5 | 0,21% |
| available | 4 | 0,17% |
Индексация Готовность: 30%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 125 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 36313 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dylan Foundry</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.0/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.0/css/bootstrap-responsive.min.css" />
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="http://dylanfoundry.org/theme/css/style.css" />
<link rel="stylesheet" type="text/css" href="http://dylanfoundry.org/theme/css/pygments.css" />
<link href="http://dylanfoundry.org/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Dylan Foundry Full Atom Feed" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body id="index" class="home">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="/">
<img class="logo" src="http://dylanfoundry.org/theme/images/dylan-squares.png" alt="" />
Dylan Foundry
</a>
<ul class="nav">
<li><a href="http://dylanfoundry.org/about/">About</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="span9">
<script type="text/javascript">
var disqus_shortname = 'dylanfoundry';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2015/03/02/deepening-lldb-integration/" rel="bookmark"
title="Permalink to Deepening LLDB Integration">Deepening LLDB Integration</a></h1>
</header>
<div class="entry-content">
<p>A <a class="reference external" href="http://dylanfoundry.org/2014/06/25/integrating-with-lldb/">previous post</a> covered the subject of the initial LLDB and Dylan
integration.</p>
<p>While much of this post discusses what we did to improve Dylan integration,
the overall techniques are broadly useful for many languages. In fact,
if anyone is interested, I am available for consulting on this topic.
Just email <a class="reference external" href="mailto:bruce.mitchener@gmail.com">me</a>.</p>
<div class="section" id="catching-up">
<h2>Catching Up</h2>
<p>In the previous post, we talked about changing the base representation
from <tt class="docutils literal">void*</tt> to <tt class="docutils literal">uintptr_t</tt> to work around a bug in LLDB. This was,
in part, due to our goal to try to have the integration work with the
currently shipping version of LLDB.</p>
<p>Unfortunately, this work won't be completed and merged. In separate
developments, it has emerged that it can be unsafe to treat a pointer
as an integer when working with a garbage collector. The <a class="reference external" href="http://mailman.ravenbrook.com/pipermail/mps-discussion/2014-July/000144.html">details</a>
of this are quite interesting, so out of an abundance of caution,
we will not be going down this route.</p>
</div>
<div class="section" id="expanding-objects">
<h2>Expanding Objects</h2>
<p>We are able to use the "pointer depth" parameter to commands like
<tt class="docutils literal">expression</tt> and <tt class="docutils literal">frame variable</tt> to show the "expanded" form of
objects:</p>
<pre class="literal-block">
(lldb) frame variable -P 1 T15
(dylan_value) T15 = 0x017e8000 {<buffer>} {
[buffer-next] = 0x00000001 {<integer>: 0}
[buffer-end] = 0x00000001 {<integer>: 0}
[buffer-position] = 0x00000001 {<integer>: 0 ...</pre></div>
<a class="readmore" href="http://dylanfoundry.org/2015/03/02/deepening-lldb-integration/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2015-03-02T00:00:00">
Mon 02 March 2015
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/debugging.html"><i class="icon-tag icon-white"></i>Debugging</a><a class="label" href="http://dylanfoundry.org/tag/lldb.html"><i class="icon-tag icon-white"></i>LLDB</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2015/03/02/deepening-lldb-integration/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2015/01/20/dylan-and-gradual-typing/" rel="bookmark"
title="Permalink to Dylan and Gradual Typing">Dylan and Gradual Typing</a></h1>
</header>
<div class="entry-content">
<p>As we look to the future and what we would like for Dylan to become and
investigate how we would like for Dylan to evolve, it is helpful to look
at some of the current work and how Dylan compares, where Dylan falls
down and whether or not we can improve it.</p>
<p>One of those areas is in the guarantees offered by the type system. While
Dylan is seen as a dynamic language, it has a number of features that
help provide optional static type checking. As we'll see, there is a lot
of room for improvement in this area.</p>
<p>In this post, using a missing compile-time warning as the driver, we'll
walk through some details of the Dylan type system and then see how it
differs from a gradually typed system. We'll see that type annotations
are interpreted very differently under a gradual typing regime versus
the Open Dylan compiler.</p>
<p>I've previously written a <a class="reference external" href="http://dylanfoundry.org/2014/08/28/type-system-overview/">Type System Overview</a> which may be useful,
but hopefully this post can stand on its own.</p>
<p>One particularly interesting body of work is that on <em>Gradual Typing</em>.
From <a class="reference external" href="http://wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/">What is Gradual Typing</a>:</p>
<blockquote>
Gradual typing is a type system I [Jeremy Siek ...</blockquote>
<a class="readmore" href="http://dylanfoundry.org/2015/01/20/dylan-and-gradual-typing/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2015-01-20T00:00:00">
Tue 20 January 2015
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/dylan-2016.html"><i class="icon-tag icon-white"></i>Dylan 2016</a><a class="label" href="http://dylanfoundry.org/tag/type-system.html"><i class="icon-tag icon-white"></i>Type System</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2015/01/20/dylan-and-gradual-typing/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2015/01/02/the-algol-roots-of-dylan/" rel="bookmark"
title="Permalink to The ALGOL Roots of Dylan">The ALGOL Roots of Dylan</a></h1>
</header>
<div class="entry-content">
<p>Dylan is often seen as a descendent of the Lisp family of languages. It
was designed (and implemented) by people from the <a class="reference external" href="http://en.wikipedia.org/wiki/Common_Lisp">Common Lisp</a> world and
borrowed lots from <a class="reference external" href="http://en.wikipedia.org/wiki/Scheme_%28programming_language%29">Scheme</a>, <a class="reference external" href="http://en.wikipedia.org/wiki/EuLisp">EuLisp</a> and other Lisp dialects. On the
other hand, it was given a syntax from the <a class="reference external" href="http://en.wikipedia.org/wiki/ALGOL">ALGOL</a> tradition rather than
using <a class="reference external" href="http://en.wikipedia.org/wiki/S-expression">s-expressions</a>.</p>
<p>It is interesting to compare some of what is present within the Dylan
language design with <a class="reference external" href="http://en.wikipedia.org/wiki/ALGOL">ALGOL</a> though and see if perhaps some of the
ALGOL influence wasn't just in the syntax. It is difficult today to
know the extent to which ALGOL 68 was a direct influence versus having
been filtered through Common Lisp and other languages. After all, Dylan
was designed some 25 years or so after ALGOL 68. (At the time of this
writing, Dylan itself is over 20 years old.)</p>
<p>It is clear though that many languages have picked up ideas from
ALGOL over the years, including languages that were direct influencers
of Dylan such as Scheme.</p>
<p>This post isn't intended to say "this concept came from ALGOL" but just
to look at some of the interesting similarities.</p>
<div class="section" id="orthogonal-design">
<h2>Orthogonal Design</h2>
<p><a class="reference external" href="http://en.wikipedia.org/wiki/ALGOL_68">ALGOL 68</a> as defined in the <a class="reference external" href="http://jmvdveer.home.xs4all.nl/report.html#012">Revised Report on the Algorithmic Language ...</a></p></div>
<a class="readmore" href="http://dylanfoundry.org/2015/01/02/the-algol-roots-of-dylan/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2015-01-02T00:00:00">
Fri 02 January 2015
</abbr>.
</p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2015/01/02/the-algol-roots-of-dylan/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/11/05/integrating-with-llvm/" rel="bookmark"
title="Permalink to Integrating with LLVM">Integrating with LLVM</a></h1>
</header>
<div class="entry-content">
<p>Many compilers are now being outfitted with LLVM backends. There are
a variety of ways to do this, and we'll take a look at some of them
here.</p>
<div class="section" id="calling-llvm-apis-directly">
<h2>Calling LLVM APIs Directly</h2>
<p>One common and easy way to integrate with LLVM is to directly link
against the LLVM libraries and invoke the LLVM API directly.</p>
<div class="section" id="c-api">
<h3>C++ API</h3>
<p>LLVM's native APIs are C++. Examples of languages that talk to LLVM
via the C++ APIs are Julia and <a class="reference external" href="https://github.com/drmeister/clasp">CLASP</a>.</p>
<p>This is also the approach taken by <a class="reference external" href="http://clang.llvm.org/">Clang</a>, however, Clang lives
within the same code repository as LLVM and shares many developers.
It is part of the LLVM project rather than a separate compiler
that is using LLVM as a backend.</p>
<p>While this seems like an attractive option, there are some issues
with it:</p>
<ul class="simple">
<li>Your code must either be written in C++ or be able to invoke C++
code via an <a class="reference external" href="http://en.wikipedia.org/wiki/Foreign_function_interface">FFI</a> (foreign function interface).</li>
<li>You are tied to a particular version of the LLVM API at compile
time.</li>
<li>It is harder to re-use someone's existing installation of LLVM
as you are tied to a particular version.</li>
</ul>
</div>
<div class="section" id="id1">
<h3>C API</h3>
<p>LLVM also provides a C wrapper around the C++ APIs. This ...</p></div></div>
<a class="readmore" href="http://dylanfoundry.org/2014/11/05/integrating-with-llvm/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-11-05T00:00:00">
Wed 05 November 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/llvm.html"><i class="icon-tag icon-white"></i>LLVM</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/11/05/integrating-with-llvm/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/08/31/saying-good-bye-harp/" rel="bookmark"
title="Permalink to Saying Good-bye: HARP">Saying Good-bye: HARP</a></h1>
</header>
<div class="entry-content">
<p>This begins a new series of blog posts that will continue over the next
few months as we say "Good-bye!" to parts of Open Dylan.</p>
<pre class="literal-block">
Freedom comes when you learn to let go
Creation comes when you learn to say no
-- Madonna, The Power of Good-Bye
</pre>
<p>We're beginning a process by which we'll start slimming down the compiler
and the libraries, letting go of some major chunks of code, with the goal
of improving the hackability of the compiler and enabling us to make
new leaps in functionality.</p>
<div class="section" id="what-is-harp">
<h2>What is HARP?</h2>
<p>HARP is the Harlequin Abstract RISC Processor and was designed and developed
at Harlequin in the late 1980s. It was used in Harlequin's LispWorks and
later translated to Dylan for use in Harlequin's DylanWorks (which is now
Open Dylan).</p>
<p>Clive Tong, an engineer at Harlequin in 1989, <a class="reference external" href="http://clivetong.wordpress.com/2012/12/21/so-many-architectures-so-little-time/">briefly described it</a> as:</p>
<blockquote>
The compiler targeted an instruction set known as HARP (Harlequin
Abstract RISC Processor), and then HARP instructions were translated
into machine instructions using a template matching scheme. HARP had
an infinite set of registers, and the register colouring happened as
part of this templating processing.</blockquote>
<p>Some additional details about the early design of HARP ...</p></div>
<a class="readmore" href="http://dylanfoundry.org/2014/08/31/saying-good-bye-harp/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-08-31T00:00:00">
Sun 31 August 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/saying-good-bye.html"><i class="icon-tag icon-white"></i>Saying Good-bye</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/08/31/saying-good-bye-harp/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/08/28/type-system-overview/" rel="bookmark"
title="Permalink to Type System Overview">Type System Overview</a></h1>
</header>
<div class="entry-content">
<p>The type system and how it is used is a commonly misunderstood aspect
of the Dylan language. Although it lacks some forms of expressiveness
in the current incarnation, it also has some features that aren't
found in many languages, such as singleton types. It is also very
important in helping the compiler to generate faster yet still safe code.</p>
<p>One interesting feature in Dylan is that it is optionally typed. While
this is more common today and sometimes has fancy names applied like
'gradually typed', the overall point is the same: Your code can start
out untyped and looking like code does in Ruby or Python. However,
when you want or need additional performance or correctness guarantees,
you can supply type annotations that the compiler can use. The compiler
can also infer some types from the values used or other type annotations.</p>
<p>In this post, we'll explain some of the basic concepts of the Dylan
type system and show how it is used by the compiler.</p>
<div class="section" id="type-and-value-relationships">
<h2>Type and Value Relationships</h2>
<p>There are 2 important relationships between values and types in Dylan.</p>
<p>They are <tt class="docutils literal">instance?</tt> and <tt class="docutils literal">subtype?</tt>. Other relationships, such as
<tt class="docutils literal"><span class="pre">known-disjoint?</span></tt> are used within the compiler to assist ...</p></div>
<a class="readmore" href="http://dylanfoundry.org/2014/08/28/type-system-overview/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-08-28T00:00:00">
Thu 28 August 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/type-system.html"><i class="icon-tag icon-white"></i>Type System</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/08/28/type-system-overview/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/08/01/function-types-and-dylan-2016/" rel="bookmark"
title="Permalink to Function Types and Dylan 2016">Function Types and Dylan 2016</a></h1>
</header>
<div class="entry-content">
<p>Moving towards Dylan 2016, the Dylan community would like to address
some weaknesses in the language specification and what can be readily
expressed in Dylan code. In this post, we'll look at function types
as well as provide a brief introduction to some details of the type
system implementation within the Open Dylan compiler.</p>
<div class="section" id="function-types">
<h2>Function Types</h2>
<p>One of the big holes in the Dylan type system is the inability to specify
function types. What this means is that you can only say that a value is
of type <tt class="docutils literal"><function></tt> and can't indicate anything about the desired
signature, types of arguments, return values, etc. This is unfortunate
for a number of reasons:</p>
<ul class="simple">
<li><strong>Poor static type safety.</strong> The compiler can verify very little
involving a function value. It can't warn when the wrong number
of arguments or the wrong types of arguments are passed.</li>
<li><strong>Less clear interfaces.</strong> The type signature of a function must
be documented clearly rather than being expressed clearly within
the code.</li>
<li><strong>Optimization is more difficult.</strong> Since the compiler can't
perform as many checks at compile time, more checks need to be
performed at run-time, which limits the amount of optimization
that can be performed ...</li></ul></div>
<a class="readmore" href="http://dylanfoundry.org/2014/08/01/function-types-and-dylan-2016/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-08-01T00:00:00">
Fri 01 August 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/dylan-2016.html"><i class="icon-tag icon-white"></i>Dylan 2016</a><a class="label" href="http://dylanfoundry.org/tag/type-system.html"><i class="icon-tag icon-white"></i>Type System</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/08/01/function-types-and-dylan-2016/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/07/26/http-and-stream-processing/" rel="bookmark"
title="Permalink to HTTP and Stream Processing">HTTP and Stream Processing</a></h1>
</header>
<div class="entry-content">
<p>As we discussed in the <a class="reference external" href="http://dylanfoundry.org/2014/07/25/beginning-to-rethink-streams/">previous post</a>, we are thinking about a new design
and implementation for the streams library in <a class="reference external" href="http://opendylan.org/">Open Dylan</a>.</p>
<p>While the examples in this post are in Dylan and are using code from our
HTTP server, these issues exist in HTTP frameworks in other languages.
The code should be clear enough that little to no Dylan knowledge is required
to understand the points being made here.</p>
<p>What does this have to do with HTTP? There are several pain points in our
HTTP stack as it is currently written:</p>
<ul class="simple">
<li>Requests are read in their entirety into memory, so a large request (such
as a file upload) takes a significant amount of memory.</li>
<li>Responses often buffer their entire output in memory as well.</li>
<li>Because of the use of the existing streams library, we don't handle
non-blocking sockets and require a thread per socket.</li>
<li>We don't have a good model for handling long-lasting connections such as
might be used with <a class="reference external" href="http://www.w3.org/TR/eventsource/">Server Sent Events</a> or <a class="reference external" href="http://tools.ietf.org/html/rfc6455">WebSockets</a> without tying
up a thread for the duration of the socket being open.</li>
</ul>
<p>We don't know yet what the new streams API will look like, but we can
look at our ...</p>
<a class="readmore" href="http://dylanfoundry.org/2014/07/26/http-and-stream-processing/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-07-26T00:00:00">
Sat 26 July 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/streams.html"><i class="icon-tag icon-white"></i>Streams</a><a class="label" href="http://dylanfoundry.org/tag/dylan-2016.html"><i class="icon-tag icon-white"></i>Dylan 2016</a><a class="label" href="http://dylanfoundry.org/tag/http.html"><i class="icon-tag icon-white"></i>HTTP</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/07/26/http-and-stream-processing/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/07/25/beginning-to-rethink-streams/" rel="bookmark"
title="Permalink to Beginning to Rethink Streams">Beginning to Rethink Streams</a></h1>
</header>
<div class="entry-content">
<p>Dylan's current <tt class="docutils literal">streams</tt> library has served us moderately well
over the years. However, it has some issues which can be addressed
by a new design, expanding the range of problems for which it is
suited.</p>
<div class="section" id="how-things-are-now">
<h2>How things are now</h2>
<p>According to the current <tt class="docutils literal">streams</tt> library's <a class="reference external" href="http://opendylan.org/documentation/library-reference/io/streams.html">documentation</a>, the
<a class="reference external" href="http://opendylan.org/documentation/library-reference/io/streams.html#goals-of-the-module">design goals</a> were:</p>
<ul class="simple">
<li>A generic, easy-to-use interface for streaming over sequences and files.
The same high-level interface for consuming or producing is available
irrespective of the type of stream, or the types of the elements being
streamed over.</li>
<li>Efficiency, especially for the common case of file I/O.</li>
<li>Access to an underlying buffer management protocol.</li>
</ul>
<p>One of the things it was explicitly <strong>not designed</strong> to handle was, again,
according to the <a class="reference external" href="http://opendylan.org/documentation/library-reference/io/streams.html#goals-of-the-module">design goals</a> in the <a class="reference external" href="http://opendylan.org/documentation/library-reference/io/streams.html">documentation</a>:</p>
<ul class="simple">
<li>A comprehensive range of I/O facilities for using memory-mapped files,
network connections, and so on.</li>
</ul>
<p>Unfortunately, the primary interface to our current <a class="reference external" href="http://opendylan.org/documentation/library-reference/network/index.html">network library</a>
is based on these very streams for which network connections were not
a design goal. While this works in practice, it imposes some important
limitations on our networking code. The biggest of these is that sockets
can not be non-blocking as it is expected that reads and writes will
complete ...</p></div>
<a class="readmore" href="http://dylanfoundry.org/2014/07/25/beginning-to-rethink-streams/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-07-25T00:00:00">
Fri 25 July 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/streams.html"><i class="icon-tag icon-white"></i>Streams</a><a class="label" href="http://dylanfoundry.org/tag/dylan-2016.html"><i class="icon-tag icon-white"></i>Dylan 2016</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/07/25/beginning-to-rethink-streams/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<section id="content" class="body">
<article class="hentry">
<header>
<h1 class="entry-title"><a href="http://dylanfoundry.org/2014/06/25/integrating-with-lldb/" rel="bookmark"
title="Permalink to Integrating with LLDB">Integrating with LLDB</a></h1>
</header>
<div class="entry-content">
<p>I spend a lot of time debugging Dylan code. Up until now, this has been a
somewhat painful process when not using the IDE on Windows. (And I don't
really use the IDE on Windows as it doesn't fit well into my workflow.)
I finally reached the point where I decided that I wanted to improve our
debugger integration.</p>
<p>Much of what is described below may be applicable to people working on
debugging support for other languages.</p>
<div class="section" id="current-state-of-dylan-debugging">
<h2>Current State of Dylan Debugging</h2>
<p>We have a debugger on Windows integrated with our IDE. This facility is
not available on the other platforms that we support. There are many reasons
for this:</p>
<ul class="simple">
<li>The debug info that Open Dylan generates is only done on Windows.</li>
<li>The debugger code for interacting with the OS is only implemented for Windows.</li>
<li>The IDE itself is only available on Windows.</li>
</ul>
<p>This means that debugging on Linux, FreeBSD and Mac OS X has traditionally
been more challenging. We often resort to "printf debugging" and have
some basic debug printing functions that can be invoked from the compiler
so long as they don't crash. Debugging is really only effective with the
C back-end as the HARP ...</p></div>
<a class="readmore" href="http://dylanfoundry.org/2014/06/25/integrating-with-lldb/">read more »</a>
<footer class="post-info">
<p>Posted in <a href="http://dylanfoundry.org/category/dylan.html">Dylan</a>
by <a class="url fn" href="http://dylanfoundry.org/author/bruce-mitchener-jr.html">Bruce Mitchener, Jr.</a>
on <abbr class="published" title="2014-06-25T00:00:00">
Wed 25 June 2014
</abbr>.
</p>
<p><a class="label" href="http://dylanfoundry.org/tag/debugging.html"><i class="icon-tag icon-white"></i>Debugging</a><a class="label" href="http://dylanfoundry.org/tag/lldb.html"><i class="icon-tag icon-white"></i>LLDB</a></p>
</footer><!-- /.post-info --> <p>There are <a href="http://dylanfoundry.org/2014/06/25/integrating-with-lldb/#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
</article>
</section><!--/#content-->
<div class="pagination">
<ul>
<li><span>1</span></li>
<li><a href="http://dylanfoundry.org/index2.html">2</a></li>
<li><a href="http://dylanfoundry.org/index3.html">3</a></li>
<li><a href="http://dylanfoundry.org/index2.html">»</a></li>
</ul>
</div>
</div>
<div class="span3">
<div class="well sidebar-nav">
<p class="sidebar-explainer">The Dylan Foundry is
working on tools and libraries to make it easier
to use the <a href="http://opendylan.org/">Dylan</a>
programming language in production.</p>
<ul class="nav nav-list">
<li class="nav-header">Other Sites</li>
<li><a href="http://opendylan.org/"><i class="icon-external-link"></i>OpenDylan.org</a></li>
<li class="nav-header">Social</li>
<li><a href="http://dylanfoundry.org/" type="application/atom+xml" rel="alternate"><i class="icon-rss"></i>Atom feed</a></li>
<li><a href="https://twitter.com/DylanFoundry"><i class="icon-twitter"></i>@DylanFoundry</a></li>
<li><a href="https://twitter.com/DylanLanguage"><i class="icon-twitter"></i>@DylanLanguage</a></li>
<li><a href="https://github.com/dylan-foundry/"><i class="icon-github"></i>dylan-foundry/GitHub</a></li>
<li><a href="https://github.com/dylan-lang/"><i class="icon-github"></i>dylan-lang/GitHub</a></li>
<li><a href="https://www.gittip.com/waywardmonkeys/"><i class="icon-heart"></i>Tip me via GitTip</a></li>
<li class="nav-header">Categories</li>
<li ><a href="http://dylanfoundry.org/category/dylan.html"><i class="icon-list"></i>Dylan</a></li>
<li class="nav-header">Tags</li>
<li ><a href="http://dylanfoundry.org/tag/debugging.html"><i class="icon-tag"></i>Debugging</a></li>
<li ><a href="http://dylanfoundry.org/tag/http.html"><i class="icon-tag"></i>HTTP</a></li>
<li ><a href="http://dylanfoundry.org/tag/llvm.html"><i class="icon-tag"></i>LLVM</a></li>
<li ><a href="http://dylanfoundry.org/tag/c-ffi.html"><i class="icon-tag"></i>C-FFI</a></li>
<li ><a href="http://dylanfoundry.org/tag/method-dispatch.html"><i class="icon-tag"></i>Method Dispatch</a></li>
<li ><a href="http://dylanfoundry.org/tag/editor-support.html"><i class="icon-tag"></i>Editor Support</a></li>
<li ><a href="http://dylanfoundry.org/tag/saying-good-bye.html"><i class="icon-tag"></i>Saying Good-bye</a></li>
<li ><a href="http://dylanfoundry.org/tag/melange.html"><i class="icon-tag"></i>melange</a></li>
<li ><a href="http://dylanfoundry.org/tag/lldb.html"><i class="icon-tag"></i>LLDB</a></li>
<li ><a href="http://dylanfoundry.org/tag/dylan-2016.html"><i class="icon-tag"></i>Dylan 2016</a></li>
<li ><a href="http://dylanfoundry.org/tag/streams.html"><i class="icon-tag"></i>Streams</a></li>
<li ><a href="http://dylanfoundry.org/tag/type-system.html"><i class="icon-tag"></i>Type System</a></li>
<li ><a href="http://dylanfoundry.org/tag/atom.html"><i class="icon-tag"></i>Atom</a></li>
<li ><a href="http://dylanfoundry.org/tag/tutorials.html"><i class="icon-tag"></i>Tutorials</a></li>
<li ><a href="http://dylanfoundry.org/tag/performance.html"><i class="icon-tag"></i>Performance</a></li>
<li ><a href="http://dylanfoundry.org/tag/ide.html"><i class="icon-tag"></i>IDE</a></li>
<li ><a href="http://dylanfoundry.org/tag/platform-support.html"><i class="icon-tag"></i>Platform Support</a></li>
</ul>
</div><!--/.well -->
</div><!--/.span -->
</div><!--/.row -->
</div><!--/.container -->
<footer class="navbar navbar-fixed-bottom">
<div class="navbar-inner">
<div class="container">
<div class="pull-left">
Created using <a href="http://getpelican.com/">Pelican</a>.
</div>
<div class="pull-right">
© Copyright 2012-2014, <a href="http://datafueled.com/">DataFueled</a>. All rights reserved.
</div>
<div class="clearer"></div>
</div>
</div>
</footer>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 82
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 82 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /about/ |
About
|
|
Анализировать url |
| /2015/03/02/deepening-lldb-integration/ |
Deepening LLDB Integration
|
|
Анализировать url |
| /2014/06/25/integrating-with-lldb/ |
previous post
|
|
Анализировать url |
| /2015/03/02/deepening-lldb-integration/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/debugging.html |
<i class="icon-tag icon-white"></i>Debugging
|
|
Анализировать url |
| /tag/lldb.html |
<i class="icon-tag icon-white"></i>LLDB
|
|
Анализировать url |
| /2015/01/20/dylan-and-gradual-typing/ |
Dylan and Gradual Typing
|
|
Анализировать url |
| /2014/08/28/type-system-overview/ |
Type System Overview
|
|
Анализировать url |
| /2015/01/20/dylan-and-gradual-typing/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/dylan-2016.html |
<i class="icon-tag icon-white"></i>Dylan 2016
|
|
Анализировать url |
| /tag/type-system.html |
<i class="icon-tag icon-white"></i>Type System
|
|
Анализировать url |
| /2015/01/02/the-algol-roots-of-dylan/ |
The ALGOL Roots of Dylan
|
|
Анализировать url |
| /2015/01/02/the-algol-roots-of-dylan/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /2014/11/05/integrating-with-llvm/ |
Integrating with LLVM
|
|
Анализировать url |
| /2014/11/05/integrating-with-llvm/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/llvm.html |
<i class="icon-tag icon-white"></i>LLVM
|
|
Анализировать url |
| /2014/08/31/saying-good-bye-harp/ |
Saying Good-bye: HARP
|
|
Анализировать url |
| /2014/08/31/saying-good-bye-harp/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/saying-good-bye.html |
<i class="icon-tag icon-white"></i>Saying Good-bye
|
|
Анализировать url |
| /2014/08/28/type-system-overview/ |
Type System Overview
|
|
Анализировать url |
| /2014/08/28/type-system-overview/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/type-system.html |
<i class="icon-tag icon-white"></i>Type System
|
|
Анализировать url |
| /2014/08/01/function-types-and-dylan-2016/ |
Function Types and Dylan 2016
|
|
Анализировать url |
| /2014/08/01/function-types-and-dylan-2016/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/dylan-2016.html |
<i class="icon-tag icon-white"></i>Dylan 2016
|
|
Анализировать url |
| /tag/type-system.html |
<i class="icon-tag icon-white"></i>Type System
|
|
Анализировать url |
| /2014/07/26/http-and-stream-processing/ |
HTTP and Stream Processing
|
|
Анализировать url |
| /2014/07/25/beginning-to-rethink-streams/ |
previous post
|
|
Анализировать url |
| /2014/07/26/http-and-stream-processing/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/streams.html |
<i class="icon-tag icon-white"></i>Streams
|
|
Анализировать url |
| /tag/dylan-2016.html |
<i class="icon-tag icon-white"></i>Dylan 2016
|
|
Анализировать url |
| /tag/http.html |
<i class="icon-tag icon-white"></i>HTTP
|
|
Анализировать url |
| /2014/07/25/beginning-to-rethink-streams/ |
Beginning to Rethink Streams
|
|
Анализировать url |
| /2014/07/25/beginning-to-rethink-streams/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/streams.html |
<i class="icon-tag icon-white"></i>Streams
|
|
Анализировать url |
| /tag/dylan-2016.html |
<i class="icon-tag icon-white"></i>Dylan 2016
|
|
Анализировать url |
| /2014/06/25/integrating-with-lldb/ |
Integrating with LLDB
|
|
Анализировать url |
| /2014/06/25/integrating-with-lldb/ |
read more »
|
|
Анализировать url |
| /category/dylan.html |
Dylan
|
|
Анализировать url |
| /author/bruce-mitchener-jr.html |
Bruce Mitchener, Jr.
|
|
Анализировать url |
| /tag/debugging.html |
<i class="icon-tag icon-white"></i>Debugging
|
|
Анализировать url |
| /tag/lldb.html |
<i class="icon-tag icon-white"></i>LLDB
|
|
Анализировать url |
| /index2.html |
2
|
|
Анализировать url |
| /index3.html |
3
|
|
Анализировать url |
| /index2.html |
»
|
|
Анализировать url |
| / |
<i class="icon-rss"></i>Atom feed
|
|
Анализировать url |
| /category/dylan.html |
<i class="icon-list"></i>Dylan
|
|
Анализировать url |
| /tag/debugging.html |
<i class="icon-tag"></i>Debugging
|
|
Анализировать url |
| /tag/http.html |
<i class="icon-tag"></i>HTTP
|
|
Анализировать url |
| /tag/llvm.html |
<i class="icon-tag"></i>LLVM
|
|
Анализировать url |
| /tag/c-ffi.html |
<i class="icon-tag"></i>C-FFI
|
|
Анализировать url |
| /tag/method-dispatch.html |
<i class="icon-tag"></i>Method Dispatch
|
|
Анализировать url |
| /tag/editor-support.html |
<i class="icon-tag"></i>Editor Support
|
|
Анализировать url |
| /tag/saying-good-bye.html |
<i class="icon-tag"></i>Saying Good-bye
|
|
Анализировать url |
| /tag/melange.html |
<i class="icon-tag"></i>melange
|
|
Анализировать url |
| /tag/lldb.html |
<i class="icon-tag"></i>LLDB
|
|
Анализировать url |
| /tag/dylan-2016.html |
<i class="icon-tag"></i>Dylan 2016
|
|
Анализировать url |
| /tag/streams.html |
<i class="icon-tag"></i>Streams
|
|
Анализировать url |
| /tag/type-system.html |
<i class="icon-tag"></i>Type System
|
|
Анализировать url |
| /tag/atom.html |
<i class="icon-tag"></i>Atom
|
|
Анализировать url |
| /tag/tutorials.html |
<i class="icon-tag"></i>Tutorials
|
|
Анализировать url |
| /tag/performance.html |
<i class="icon-tag"></i>Performance
|
|
Анализировать url |
| /tag/ide.html |
<i class="icon-tag"></i>IDE
|
|
Анализировать url |
| /tag/platform-support.html |
<i class="icon-tag"></i>Platform Support
|
|
Анализировать url |
Внешние ссылки
Кол-во: 31
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 31 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| mailman.ravenbrook.com |
details
|
|
| wphomes.soic.indiana.edu |
What is Gradual Typing
|
Анализировать url |
| en.wikipedia.org |
Common Lisp
|
Анализировать url |
| en.wikipedia.org |
Scheme
|
Анализировать url |
| en.wikipedia.org |
EuLisp
|
Анализировать url |
| en.wikipedia.org |
ALGOL
|
Анализировать url |
| en.wikipedia.org |
s-expressions
|
Анализировать url |
| en.wikipedia.org |
ALGOL
|
Анализировать url |
| en.wikipedia.org |
ALGOL 68
|
Анализировать url |
| jmvdveer.home.xs4all.nl |
Revised Report on the Algorithmic Language ...
|
Анализировать url |
| github.com |
CLASP
|
Анализировать url |
| clang.llvm.org |
Clang
|
Анализировать url |
| en.wikipedia.org |
FFI
|
Анализировать url |
| clivetong.wordpress.com |
briefly described it
|
Анализировать url |
| opendylan.org |
Open Dylan
|
Анализировать url |
| w3.org |
Server Sent Events
|
Анализировать url |
| tools.ietf.org |
WebSockets
|
Анализировать url |
| opendylan.org |
documentation
|
Анализировать url |
| opendylan.org |
design goals
|
Анализировать url |
| opendylan.org |
design goals
|
Анализировать url |
| opendylan.org |
documentation
|
Анализировать url |
| opendylan.org |
network library
|
Анализировать url |
| opendylan.org |
Dylan
|
Анализировать url |
| opendylan.org |
<i class="icon-external-link"></i>OpenDylan.org
|
Анализировать url |
| twitter.com |
<i class="icon-twitter"></i>@DylanFoundry
|
|
| twitter.com |
<i class="icon-twitter"></i>@DylanLanguage
|
|
| github.com |
<i class="icon-github"></i>dylan-foundry/GitHub
|
Анализировать url |
| github.com |
<i class="icon-github"></i>dylan-lang/GitHub
|
Анализировать url |
| gittip.com |
<i class="icon-heart"></i>Tip me via GitTip
|
Анализировать url |
| getpelican.com |
Pelican
|
Анализировать url |
| datafueled.com |
DataFueled
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Анализ сайта dylanfoundry.org, слабо оптимизирован на 45%. Для хорошей оптимизации и выхода на первые места в поиске требуется:
Постарайтесь исправить общие ошибки.
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: