Quantcast
Channel: Loyc, etc.
Browsing latest articles
Browse All 49 View Live

Lisp, here's why the mainstream ignores you.

While I currently don't know how you write a "hello world" in LISP, I am keenly aware that the LISP language, with its powerful macro system, could be very instructive on the topic of metaprogramming....

View Article



Loyc and Nemerle

I created this blog to be about Loyc, the Language of Your Choice project, which is about making general tools for creating and extending programming language, converting code between languages, and...

View Article

The Loyc tree and prefix notation in EC#

As I designed the macro system for Enhanced C#, I thought a lot about what kind of syntax tree would be appropriate--not just for EC# but for tools that could process multiple languages. One of Loyc's...

View Article

Redesigning the Loyc tree code

The original (and current) design for the classes that represent Loyc trees has some problematic properties: You can't tell if a node is mutable or immutable without a runtime check.Green nodes are...

View Article

Status update: Loyc tree rewritten

I have made and implemented the changes that I planned to make to the Loyc tree. The code was rewritten from scratch; the new code is not as fancy or complete, but it's easier to use. Red nodes are...

View Article


Onward

After much soul-searching... actually, not that much... I've decided to continue working on Loyc and EC# even though I discovered a really nice language in Nemerle. Personally, I wouldn't mind...

View Article

D-style ranges in C# (.NET)

Ranges are the most important concept in the design of modern D collection code, and I want them to be included under the Loyc umbrella (but for now, don't worry what Loyc is.) As I wrote in an as-yet...

View Article

LLLPG, Loyc trees, and LES, oh my!

Background: LLLPG —I normally don't let these internal "planning" posts go to CodeProject, but my planning has reached an advanced stage and I think it would be fun to hear some feedback on my new...

View Article


Image may be NSFW.
Clik here to view.

The root of all evil is optimization? Or apathy?

You've probably heard the refrain "Premature optimization is the root of all evil". Well, how did that turn out? Every Windows computer is filled with little gadgets in the system tray. Users may not...

View Article


Protobuf-net: the unofficial manual

Protobuf-net is a fast and versatile .NET library for serialization based on Google's Protocol Buffers. It's one of those libraries that is both widely used and poorly documented, so usage information...

View Article

Extra, extra, read all about Loyc

I recently set up a MediaWiki for Loyc's documentation. If you'd like to learn more about Loyc, go there and read The main pageThe pages on the sidebar under "basic concepts": Loyc trees, Loyc...

View Article

Exploring the Nemerle macro system

To illustrate the properties of Nemerle's macro system, I will show a list of macros, followed by a program that calls the macros. /* Macro.n */using System;using System.Linq;using...

View Article

Image may be NSFW.
Clik here to view.

Formalism tutorial

Have you ever seen notation like this in a programming language paper? I have. And it's completely frustrating to encounter notation like this, because there is no obvious way to find out what it...

View Article


LLLPG: almost done

Yesterday I published a new article about the Loyc LL(k) Parser Generator.

View Article

My #1 Tip for Technical Writers

There are so many docs out there that don't seem to get this. If I could offer one tip for anyone who writes technical or scientific documentation about anything, it's this: use examples. Lots of...

View Article


LLLPG: greedy and nongreedy

LLLPG supports "greedy" and "nongreedy" loops and optional items. The "greedy" and "nongreedy" modes refer to the action you prefer to take in case of ambiguity between an exit branch and another...

View Article

Grammars: theory vs practice

Theoretical literature is often written in a baffling mathematical form, so I decided to write this post to help people understand the theoretical representation of grammars. LLLPG does not actually...

View Article


The Loyc LL(k) Parser Generator: part 2

This article is Published on CodeProject. This article assumes you've read part 1. LLLPG still requires you to write your code in LES rather than C#, but LES is a little friendlier now that I've...

View Article

Bogus ambiguity warnings in LLLPG

Sometimes LLLPG gives me a warning that I just can't fathom. I'm currently writing the parser for Enhanced C#, and I got a very puzzling warning: using TT = TokenType;partial class EcsParser...

View Article

Using Loyc.Essentials: introduction

Loyc.Essentials is a library (DLL) of general-purpose code that supplements the .NET BCL (standard libraries). I hope that one day it will serve as a starting point or inspiration for a multi-language...

View Article

Using Loyc.Essentials: collection interfaces

Loyc.Essentials is a library of "stuff that should be in the .NET BCL, but isn't." Today I will present one of the most important parts of Loyc.Essentials: its collection interfaces. Programmers with...

View Article


# in operator names to be removed

Originally I decided that in Loyc trees, '#' would be a prefix that meant "special" or "keyword". So reserved words or language constructs would be represented as identifiers that start with '#', e.g....

View Article


Open Letter to ???

I have a letter I would like to send to relevant leaders at Google and Mozilla, but I'm not sure to whom I send it. I did send it to Javascript inventor and Mozilla CEO Brendan Eich--just before he...

View Article

2D Convex hull in C#: 40 lines of code

If you want a convex hull and you want it now, you could go get a library like MIConvexHull. That library claims to be high-performance compared to a comparable C++ library, but that claim is...

View Article

Moving to GitHub

I have moved my blog to GitHub! The main reason for this is that blogspot has always had a lousy and buggy editor, which forces me to type all posts in HTML; on GitHub I can use markdown instead. Plus,...

View Article

Browsing latest articles
Browse All 49 View Live




Latest Images