<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/loyc/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 05 Sep 2014 01:22:32 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/loyc/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -1,6 +1,6 @@
 # Introduction

-**THE PROJECT HAS MOVED TO [GitHub](github.com/qwertie/Loyc) with web sites at [loyc.net](http://loyc.net) and [core.loyc.net](http://core.loyc.net).** The SF Wiki will no longer be updated.
+**THE PROJECT HAS MOVED TO [GitHub](github.com/qwertie/Loyc) with web sites at [loyc.net](http://loyc.net) and [core.loyc.net](http://core.loyc.net) and [new wiki here](https://github.com/qwertie/Loyc/wiki).** The SF Wiki will no longer be updated.

 The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Fri, 05 Sep 2014 01:22:32 -0000</pubDate><guid>https://sourceforge.net979b9addf3f22f23008f0979d4f563470cbab4db</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -1,4 +1,6 @@
 # Introduction
+
+**THE PROJECT HAS MOVED TO [GitHub](github.com/qwertie/Loyc) with web sites at [loyc.net](http://loyc.net) and [core.loyc.net](http://core.loyc.net).** The SF Wiki will no longer be updated.

 The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Thu, 14 Aug 2014 20:37:36 -0000</pubDate><guid>https://sourceforge.net0d6ce8ddc66096984cc99e13b5be628c5ec9c4dc</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -58,6 +58,8 @@

 I am currently keeping the unit tests in the same assemblies as the code being tested. I suspect this is why my libraries tend to be larger than many other "small" .NET libraries. Eventually I'll move the unit tests out into their own assemblies.

+These projects use couple of tricks to support both .NET 3.5 and .NET 4 using a single solution file. The tricks are documented here: http://stackoverflow.com/questions/5006397/targetting-multiple-net-framework-versions-by-using-different-project-configura/23705790#23705790
+
 ## Project list ##

 There's a folder in `Src/` and a .csproj file for each of these bullet points.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 20 May 2014 19:48:13 -0000</pubDate><guid>https://sourceforge.netdc5dcbac6f45db9d01bb7913a2e7eec880480e59</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -13,9 +13,9 @@

 ## Important concepts

-- [Loyc trees]
-- [LES]
-- [Standard Imperative Langauge]
+- [Loyc trees](Loyc trees)
+- [LES](LES)
+- [Standard Imperative Language](SIL)

 ## Source code overview

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 18:00:48 -0000</pubDate><guid>https://sourceforge.net59f568b9258d48bb20bcea6c75b76a69c36d9acd</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -10,6 +10,12 @@
 Enhanced C#, LES (Loyc Expression Syntax) and LEL (Loyc expression langauge) are also under the Loyc umbrella.

 It is in very early stages right now because I am working on it alone. I am focusing on the first point right now (transforming code between languages). Also, LES is working and I'm busy developing early stages of LEL. The project also currently includes a set of general-purpose libraries that will eventually be spun off into a separate project for a cross-language standard library.
+
+## Important concepts
+
+- [Loyc trees]
+- [LES]
+- [Standard Imperative Langauge]

 ## Source code overview

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 18:00:08 -0000</pubDate><guid>https://sourceforge.net57108093e0ad2226748fdd30a260c37077e0f666</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,6 +1,4 @@
-# README
-
-October 31, 2013
+# Introduction

 The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 16:18:31 -0000</pubDate><guid>https://sourceforge.netc8ef2a2ad58cf94bca516552c2527d14953115c2</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,8 +1,78 @@
-Welcome to your wiki!
+# README

-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+October 31, 2013

-The wiki uses [Markdown](/p/loyc/wiki/markdown_syntax/) syntax.
+The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:

-[[members limit=20]]
-[[download_button]]
+- Transforming source code between different languages
+- Cross-language library programming, also known as acmeism
+- IDEs (code completion lists, various kinds of code visualization, intellisense)
+- Code analysis and transformation
+
+Enhanced C#, LES (Loyc Expression Syntax) and LEL (Loyc expression langauge) are also under the Loyc umbrella.
+
+It is in very early stages right now because I am working on it alone. I am focusing on the first point right now (transforming code between languages). Also, LES is working and I'm busy developing early stages of LEL. The project also currently includes a set of general-purpose libraries that will eventually be spun off into a separate project for a cross-language standard library.
+
+## Source code overview
+
+Loyc currently contains the following projects, listed in order from the lowest level to the highest level. A rough dependency tree is
+
+         Loyc.Essentials
+                |
+         Loyc.Collections
+                |   |      
+                |   +---------------+
+                |                   |
+                |               Loyc.Syntax
+                |                  | |
+          Loyc.Utilities-----------+ |
+                ^                    |
+                |                    |
+      +---------+-------------+----+ |
+      |         |             |    | |
+    Baadia* MiniTestRunner  Tests  Ecs*
+                                    |
+                                   LEL
+                                    |
+                                  LLLPG*
+
+\* I will eventually split out LLLPG, Baadia, Ecs (Enhanced C#), and the low-level libraries (Essentials, Collections) into separate projects on SourceForge or GitHub.
+
+In this graph, a dependency line from C to A is hidden when there is already a line 
+from C to B and B to A. For example, Ecs depends on Loyc.Syntax; Ecs also depends 
+directly on Loyc.Collections and Loyc.Essentials, but the direct dependency lines are 
+hidden so that the graph does not turn into spaghetti. Also, the graph does not show 
+that Loyc.Syntax and Ecs depend on LLLPG at compile-time to generate their lexers and 
+parsers.
+
+Terminology:
+- LLLPG is a parser generator (Loyc LL(k) Parser Generator) to help make fast recursive-descent parsers
+- LEL is a name for a programming language that doesn't really exist yet. Right now it really implements something that I'm calling LeMP (Lexical Macro Processor), which was earlier named micro-LEL. LeMP is a source-code preprocessor that LLLPG is based on.
+- EC# is an enhanced version of C# that does not exist yet but which will have tons of new features
+- Baadia is a gesture-based program for drawing "Boxes and arrows" diagrams (yes, it totally doesn't belong here.)
+- MiniTestRunner is a unit test runner that I never completed, for a small unit test framework that resembles earlier versions of NUnit (Loyc.MiniTest).
+
+I am currently keeping the unit tests in the same assemblies as the code being tested. I suspect this is why my libraries tend to be larger than many other "small" .NET libraries. Eventually I'll move the unit tests out into their own assemblies.
+
+## Project list ##
+
+There's a folder in `Src/` and a .csproj file for each of these bullet points.
+
+* [Loyc.Essentials]: A library of interfaces and small services that are "missing" from the MS BCL.
+* [Loyc.Collections]: [VLists](http://www.codeproject.com/Articles/26171/VList-data-structures-in-C), persistent hashtables (Set/MSet/Map/MMap), [ALists](http://www.codeproject.com/Articles/568095/The-List-Trifecta-Part-1), etc.
+* [Loyc.Syntax]: Loyc trees, LES printer and parser, SourceRange/SourcePos, helper classes for lexing/parsing, CodeSymbols
+* [Loyc.Utilities]: Miscellaneous code; notably contains a bunch of geometry algorithms and extension methods.
+* [Tests project]: Front end that invokes most of the unit tests. Also, some random benchmark code.
+* [LLLPG]: The Loyc LL(k) Parser Generator
+* [MiniTestRunner]: Unit test runner (very incomplete)
+* [Baadia]: Drawing program for making boxes and arrows diagrams (very incomplete)
+* [LEL]: Loyc expression language compiler (barely started)
+* [Ecs]: Enhanced C# compiler (barely started)
+
+## Other links
+
+I just moved the source code to GitHub: https://github.com/qwertie/Loyc
+
+My development blog: http://loyc-etc.blogspot.com
+
+Home page: http://loyc.net
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 16:03:05 -0000</pubDate><guid>https://sourceforge.net1b28fdcab052189937e2d24658f18204e722f864</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="readme"&gt;README&lt;/h1&gt;
&lt;p&gt;October 31, 2013&lt;/p&gt;
&lt;p&gt;The Language of Your Choice (Loyc) project is intended to become a rich set of tools for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transforming source code between different languages&lt;/li&gt;
&lt;li&gt;Cross-language library programming, also known as acmeism&lt;/li&gt;
&lt;li&gt;IDEs (code completion lists, various kinds of code visualization, intellisense)&lt;/li&gt;
&lt;li&gt;Code analysis and transformation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enhanced C#, LES (Loyc Expression Syntax) and LEL (Loyc expression langauge) are also under the Loyc umbrella.&lt;/p&gt;
&lt;p&gt;It is in very early stages right now because I am working on it alone. I am focusing on the first point right now (transforming code between languages). Also, LES is working and I'm busy developing early stages of LEL. The project also currently includes a set of general-purpose libraries that will eventually be spun off into a separate project for a cross-language standard library.&lt;/p&gt;
&lt;h2 id="source-code-overview"&gt;Source code overview&lt;/h2&gt;
&lt;p&gt;Loyc currently contains the following projects, listed in order from the lowest level to the highest level. A rough dependency tree is&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;     &lt;span class="n"&gt;Loyc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Essentials&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;
     &lt;span class="n"&gt;Loyc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Collections&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;   &lt;span class="o"&gt;|&lt;/span&gt;      
            &lt;span class="o"&gt;|&lt;/span&gt;   &lt;span class="o"&gt;+---------------+&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;                   &lt;span class="o"&gt;|&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;               &lt;span class="n"&gt;Loyc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Syntax&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;                  &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;
      &lt;span class="n"&gt;Loyc&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Utilities&lt;/span&gt;&lt;span class="o"&gt;-----------+&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;
            &lt;span class="o"&gt;^&lt;/span&gt;                    &lt;span class="o"&gt;|&lt;/span&gt;
            &lt;span class="o"&gt;|&lt;/span&gt;                    &lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="o"&gt;+---------+-------------+----+&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="o"&gt;|&lt;/span&gt;         &lt;span class="o"&gt;|&lt;/span&gt;             &lt;span class="o"&gt;|&lt;/span&gt;    &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;
&lt;span class="n"&gt;Baadia&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;MiniTestRunner&lt;/span&gt;  &lt;span class="n"&gt;Tests&lt;/span&gt;  &lt;span class="n"&gt;Ecs&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
                                &lt;span class="o"&gt;|&lt;/span&gt;
                               &lt;span class="n"&gt;LEL&lt;/span&gt;
                                &lt;span class="o"&gt;|&lt;/span&gt;
                              &lt;span class="n"&gt;LLLPG&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;* I will eventually split out LLLPG, Baadia, Ecs (Enhanced C#), and the low-level libraries (Essentials, Collections) into separate projects on SourceForge or GitHub.&lt;/p&gt;
&lt;p&gt;In this graph, a dependency line from C to A is hidden when there is already a line &lt;br /&gt;
from C to B and B to A. For example, Ecs depends on Loyc.Syntax; Ecs also depends &lt;br /&gt;
directly on Loyc.Collections and Loyc.Essentials, but the direct dependency lines are &lt;br /&gt;
hidden so that the graph does not turn into spaghetti. Also, the graph does not show &lt;br /&gt;
that Loyc.Syntax and Ecs depend on LLLPG at compile-time to generate their lexers and &lt;br /&gt;
parsers.&lt;/p&gt;
&lt;p&gt;Terminology:&lt;br /&gt;
- LLLPG is a parser generator (Loyc LL(k) Parser Generator) to help make fast recursive-descent parsers&lt;br /&gt;
- LEL is a name for a programming language that doesn't really exist yet. Right now it really implements something that I'm calling LeMP (Lexical Macro Processor), which was earlier named micro-LEL. LeMP is a source-code preprocessor that LLLPG is based on.&lt;br /&gt;
- EC# is an enhanced version of C# that does not exist yet but which will have tons of new features&lt;br /&gt;
- Baadia is a gesture-based program for drawing "Boxes and arrows" diagrams (yes, it totally doesn't belong here.)&lt;br /&gt;
- MiniTestRunner is a unit test runner that I never completed, for a small unit test framework that resembles earlier versions of NUnit (Loyc.MiniTest).&lt;/p&gt;
&lt;p&gt;I am currently keeping the unit tests in the same assemblies as the code being tested. I suspect this is why my libraries tend to be larger than many other "small" .NET libraries. Eventually I'll move the unit tests out into their own assemblies.&lt;/p&gt;
&lt;h2 id="project-list"&gt;Project list&lt;/h2&gt;
&lt;p&gt;There's a folder in &lt;code&gt;Src/&lt;/code&gt; and a .csproj file for each of these bullet points.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;[Loyc.Essentials]&lt;/span&gt;: A library of interfaces and small services that are "missing" from the MS BCL.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Loyc.Collections]&lt;/span&gt;: &lt;a class="" href="http://www.codeproject.com/Articles/26171/VList-data-structures-in-C" rel="nofollow"&gt;VLists&lt;/a&gt;, persistent hashtables (Set/MSet/Map/MMap), &lt;a class="" href="http://www.codeproject.com/Articles/568095/The-List-Trifecta-Part-1" rel="nofollow"&gt;ALists&lt;/a&gt;, etc.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Loyc.Syntax]&lt;/span&gt;: Loyc trees, LES printer and parser, SourceRange/SourcePos, helper classes for lexing/parsing, CodeSymbols&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Loyc.Utilities]&lt;/span&gt;: Miscellaneous code; notably contains a bunch of geometry algorithms and extension methods.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Tests project]&lt;/span&gt;: Front end that invokes most of the unit tests. Also, some random benchmark code.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[LLLPG]&lt;/span&gt;: The Loyc LL(k) Parser Generator&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[MiniTestRunner]&lt;/span&gt;: Unit test runner (very incomplete)&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Baadia]&lt;/span&gt;: Drawing program for making boxes and arrows diagrams (very incomplete)&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[LEL]&lt;/span&gt;: Loyc expression language compiler (barely started)&lt;/li&gt;
&lt;li&gt;&lt;span&gt;[Ecs]&lt;/span&gt;: Enhanced C# compiler (barely started)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="other-links"&gt;Other links&lt;/h2&gt;
&lt;p&gt;I just moved the source code to GitHub: &lt;a href="https://github.com/qwertie/Loyc" rel="nofollow"&gt;https://github.com/qwertie/Loyc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My development blog: &lt;a href="http://loyc-etc.blogspot.com" rel="nofollow"&gt;http://loyc-etc.blogspot.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Home page: &lt;a href="http://loyc.net" rel="nofollow"&gt;http://loyc.net&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 16:02:12 -0000</pubDate><guid>https://sourceforge.net5cef98b2ea66dbf56d2884df668a89a0832f7ddf</guid></item><item><title>Home modified by David Piepgrass</title><link>https://sourceforge.net/p/loyc/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/loyc/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
&lt;ul class="md-users-list"&gt;
&lt;li&gt;&lt;a href="/u/qwertie/"&gt;David Piepgrass&lt;/a&gt; (admin)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/p&gt;&lt;p&gt;&lt;span class="download-button-51b88cfb2718462fb1282fba" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Piepgrass</dc:creator><pubDate>Tue, 06 May 2014 15:54:54 -0000</pubDate><guid>https://sourceforge.net4445240c05d92b746cc9f9e843a7a9a57809d7a8</guid></item></channel></rss>