<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>A Lexical Mistake &#187; Uncategorized</title>
	<atom:link href="http://alexicalmistake.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexicalmistake.com</link>
	<description>Languages; Past, Present and Future</description>
	<lastBuildDate>Sun, 06 Sep 2009 22:00:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wordpress 2.7</title>
		<link>http://alexicalmistake.com/2009/01/wordpress-27/</link>
		<comments>http://alexicalmistake.com/2009/01/wordpress-27/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 16:53:14 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Fire]]></category>
		<category><![CDATA[Gamedev]]></category>
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://alexicalmistake.com/?p=112</guid>
		<description><![CDATA[I&#8217;ve finally gotten around to upgrading the blog to WordPress 2.7 and I must say, it&#8217;s definitely getting better with every release. Unfortunately, like most upgrades, there are always a couple of things that go a little sideways or need further tweaking after an upgrade like this. So far I&#8217;ve managed to get the main [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally gotten around to upgrading the blog to WordPress 2.7 and I must say, it&#8217;s definitely getting better with every release. Unfortunately, like most upgrades, there are always a couple of things that go a little sideways or need further tweaking after an upgrade like this. So far I&#8217;ve managed to get the main functionality of the site back in order, and the few modifications to the default theme&#8217;s style sheet have been added. Oddly the theme seems to default to a smaller font size now, however. I intend to correct the issue shortly, but it makes me wonder. Why are the WordPress guys even using such small font sizes out-of-the-box anyway, when so much of the blogging world these days realize how inappropriate they are!?</p>
<p>Beyond this there isn&#8217;t a lot to say right now. The Fire Programming Language is slowly getting under way, with the first complete draft of the syntax chapter completed and part of the corresponding parser implemented. For those interested the git repositories are hosted on github as <a href="http://www.github.com/krysole/firespec">FireLang</a> and <a href="http://www.github.com/krysole/fire">Fire</a> respectively. Keep in mind however, the code base is not designed to actually run yet, and neither is the aforementioned syntax chapter necessarily readable yet&#8212;the style is still somewhat inconsistent. Oh, before I forget, the spec is currently written in Emacs&#8217; Org mode (using longlines-mode), but it should still be perfectly viewable in any other text editor.</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2009/01/wordpress-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yet More Work On The Blog</title>
		<link>http://alexicalmistake.com/2008/10/yet-more-work-on-the-blog/</link>
		<comments>http://alexicalmistake.com/2008/10/yet-more-work-on-the-blog/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 02:30:04 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://alexicalmistake.com/?p=39</guid>
		<description><![CDATA[Theres been quite a lot of work going into the blog under the surface recently. The most important being an update to the current version of&#8230;well everything. The most obvious ramification of this process have been the change in theme, back to the default bundled theme (not counting the header color which is modifiable in [...]]]></description>
			<content:encoded><![CDATA[<p>Theres been quite a lot of work going into the blog under the surface recently. The most important being an update to the current version of&#8230;well everything. The most obvious ramification of this process have been the change in theme, back to the default bundled theme (not counting the header color which is modifiable in the settings page of the them). I intend to keep this version which is considerably faster (than K2) and I think still more than usable, while I start developing a completely new theme for the blog (no time frame however, as per usual).</p>
<p>The other change is not particularly obvious, but basically the site is now under the <a href="http://git.or.cz/">Git</a> DVCS. This will make it significantly simpler to manage any updates of the site while concurrently maintaining the code I write for the plugins and visual style. Basically the site is maintained through a collections of branches which are rebased into the deployed branch which is finally published to the server. The files on the server are then reset to the latest version of the deployed branch. The side affect of this being, I can update any single piece using its corresponding feature branch and simply rebase the dependent branches to the last patch on that branch, while any changes after the branch or merge point are simply re-applied afterwards (by Git, not me). Update&#8230;fix conflicts&#8230;push&#8230;done!</p>
<p></p>
<p>So I promised more actual posts I believe, I am getting to it, albeit slowly.</p>
<p>For some background into the lack of actual language related work I&#8217;ve produced lately it helps to understand, arguably the most important, project that I&#8217;m working on right now. The Mention Programming Language is a new language that I&#8217;ve had in the works since the very beginning of this blog. At one point I even had some pages dedicated to the language. Don&#8217;t bother looking, there are no posts about the language yet&#8230; I decided very early on to develop the language in the dark, at least until I was sure that it would lead to an actual release of some sort (I&#8217;ve worked on quite a few dead language designs over the years).</p>
<p>So Mention is a functional programming language with strong influences from Haskell, and Smalltalk. Yup, you heard right, the design of the language is a dynamic one, which despite the Haskell based syntax will provide a myriad of dynamic features like delegation and accessors more, much more reminiscent of Smalltalk than Haskell. There are a couple of other minor influences that creep in there every so often, due to other languages I&#8217;ve worked with or investigated (the design), but those are the main ones.</p>
<p>There&#8217;s only one problem, however. I don&#8217;t understand the math (lambda calculus and type theory) needed to implement the language yet. I&#8217;m getting there but it is taking a little while. The good news is that this wont stop me from posting for much longer. Some of the posts might be about specific things relating the the theory, but the real problem was my lack of a mathematical background. Thanks to my undergrad math text that problem is much less of an issue now and it the Mention project should be getting underway properly very soon, expect some posts on the non-implementation issues like the syntax high level semantics.</p>
<p>On another issue might now be obvious why I haven&#8217;t finished the Scheme parsing library and the corresponding series about its design and implementation&#8230; I&#8217;m not working in Scheme anymore. There is still plenty I could say about the design of Scheme and Lisp dialects, but I&#8217;ll leave that for later, but what I would like to add in post in the near future is the relationship between laziness + monads and strictness + mutable-state. For this comparison I&#8217;ll be using Scheme and Haskell (don&#8217;t worry&#8230;the code will only be for examples in both cases). What won&#8217;t be happening is any more posts or work on the Scheme parser itself.</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/10/yet-more-work-on-the-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New URL, Update your bookmarks&#8230;</title>
		<link>http://alexicalmistake.com/2008/09/new-url-update-your-bookmarks/</link>
		<comments>http://alexicalmistake.com/2008/09/new-url-update-your-bookmarks/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 08:13:23 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://alexicalmistake.com/2008/09/16/new-url-update-your-bookmarks/</guid>
		<description><![CDATA[After sitting on the domain name associated with my online handle (Krysole), I&#8217;ve finally decided it was time to move my blog to an URL using its own namesake.
What does this mean?
From now on the proper URL for A Lexical mistake is simply alexicalmistake.com
The configuration for the site seems to properly redirect pretty much everything [...]]]></description>
			<content:encoded><![CDATA[<p>After sitting on the domain name associated with my online handle (Krysole), I&#8217;ve finally decided it was time to move my blog to an URL using its own namesake.</p>
<p>What does this mean?</p>
<p>From now on the proper URL for A Lexical mistake is simply <a href="http://alexicalmistake.com/">alexicalmistake.com</a></p>
<p>The configuration for the site seems to properly redirect pretty much everything to the new URL (including permalinks&#8230; I&#8217;ll keep the old URL pointing to the site for this very reason).</p>
<p>On another issue, the blog very much isn&#8217;t dead, it just seems that way because I&#8217;ve been somewhat preoccupied lately. The main reason for this is my move to Linux, or more specifically Ubuntu. I&#8217;ve also been transitioning most of my mac dependencies to their web equivalents (Google reader, etc).</p>
<p>The point is I should be back to posting biweekly again (or close too), very soon now.</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/09/new-url-update-your-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experiments in Emacs</title>
		<link>http://alexicalmistake.com/2008/07/experiments-in-emacs/</link>
		<comments>http://alexicalmistake.com/2008/07/experiments-in-emacs/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 08:04:08 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Editor]]></category>
		<category><![CDATA[Emacs]]></category>

		<guid isPermaLink="false">http://krysole.net/2008/07/26/experiments-in-emacs/</guid>
		<description><![CDATA[One of the most difficult challenges facing me when beginning to work with both Erlang and Haskell, was the significant lack of good IDEs&#8230; Well, at least that was the theory, anyway. Instead it turned out to be a real motivator to finally get around to investigating the only IDE that counts.
The real problem wasn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most difficult challenges facing me when beginning to work with both Erlang and Haskell, was the significant lack of good IDEs&#8230; Well, at least that was the theory, anyway. Instead it turned out to be a real motivator to finally get around to investigating the only IDE that counts.</p>
<p>The real problem wasn&#8217;t that I couldn&#8217;t use Emacs for basic editing, rather I didn&#8217;t really have any idea how to use any of the extra features. Essentially it was like working with a semi-decent TextEdit.app, with code highlighting and unfamiliar keyboard shortcuts. Even after reading some of Steve Yegge&#8217;s essays I still didn&#8217;t really have any idea what I was doing.</p>
<p>Ok, so basically I&#8217;m now writing this in Emacs&#8217; SGML mode and carefully trying to get around the perverse limitations of Wordpress. (Where the heck did the allow raw HTML checkbox go for author text?) Ironically I don&#8217;t think I&#8217;ve yet gained the productivity advantages from my efforts yet, but honestly that can probably just be attributed to a slow down in my typing speed and the rather unexpected work schedule I&#8217;ve been (you never realize just how much you appreciate   sleep until you don&#8217;t get enough).</p>
<p>If I haven&#8217;t gained any real productivity, the question becomes why then am I still using Emacs to write this post? Well, as it turns out its not actually too bad for even when you don&#8217;t know all of the keyboard commands (all commands come from the keyboard, and most important commands really never migrate to them menu or at least don&#8217;t indicate they&#8217;re keyboard equivelent).</p>
<p>Even more importantly perhaps is the gains that I&#8217;ve achieved in other tasks&#8230;writing blog posts in Emacs may not be any faster for me (although I do seem to see much more of the post at any one time)&#8230;but writing code sure is. I seriously doubt that I&#8217;d change from using things like XCode for Cocoa applications or DrScheme for PLT Scheme applications (although I may change my mind on Scheme),   but at least I have direct access to the REPL in Haskell and Erlang.</p>
<p>The way most of the editing modes in Emacs actually work, it essentially will even load up a file your working directly into a REPL running side by side in another text buffer. From there you can test smaller parts of your program or even just run the whole thing from the top if you needed to. Anyone who&#8217;s worked with a Lisp dialect or   even Python or Erlang (among others) should be able to apreciate that.</p>
<p>There are a couple of things that have been bugging me so far. The first is the lack of a spell checker. Emacs does have built-in support for ispell, but as you probably guessed, it doesn&#8217;t work on my machine (actually it isn&#8217;t even installed on my cygwin install). Too make matters worse, I still need to teach Emacs how to find my Cygwin   install and use programs from it before the windows paths&#8230;ugh&#8230;</p>
<p>And the other thing doesn&#8217;t even have anything to do with Emacs, but rather, its a limitation with the Haskell code I&#8217;m working on. Essentially I don&#8217;t have a framework for OpenGL work that allows me to substitute the code on my side of the framework after the application has been started&#8230;or more to the point I can&#8217;t stop the application after it has started, forcing me to quit the entire REPL every time I   test the Game.</p>
<p>Of course the simple workaround is to just keep restarting the REPL or move out of Emacs into a Cygwin shell, but its still very   inconvenient (damn you GLUT).</p>
<p>All in all I can only really see how it goes, but at the very least it should make life just that little bit easier. At worst, I&#8217;ll just   have to resort to my aging Mac Powerbook (for the BSD layer).</p>
<p>Until next time&#8230;</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/07/experiments-in-emacs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FoNC Wiki</title>
		<link>http://alexicalmistake.com/2008/06/fonc-wiki/</link>
		<comments>http://alexicalmistake.com/2008/06/fonc-wiki/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 01:20:28 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[OMeta]]></category>
		<category><![CDATA[Smalltalk]]></category>

		<guid isPermaLink="false">http://krysole.net/2008/06/06/fonc-wiki/</guid>
		<description><![CDATA[If your&#8217;re interested in post-Smalltalk research, or more specifically the implementation of such technologies then you might be interested in keeping an eye out on the work being done by Ian Piumarta, et al.
Well, the good news is that a wiki has been setup for increased public communication about the project.
You can check it out [...]]]></description>
			<content:encoded><![CDATA[<p>If your&#8217;re interested in post-Smalltalk research, or more specifically the implementation of such technologies then you might be interested in keeping an eye out on the work being done by Ian Piumarta, et al.</p>
<p>Well, the good news is that a wiki has been setup for increased public communication about the project.</p>
<p>You can check it out over at&#8230;<a href="http://vpri.org/fonc_wiki/index.php/Main_Page">linky</a></p>
<p>&#8211;Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/06/fonc-wiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin&#8230;Mingw&#8230;’.a’&#8230;WTH!!?</title>
		<link>http://alexicalmistake.com/2008/06/cygwin-mingw-a-wth/</link>
		<comments>http://alexicalmistake.com/2008/06/cygwin-mingw-a-wth/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 22:08:34 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://krysole.net/2008/06/04/cygwinmingw%e2%80%99a%e2%80%99wth/</guid>
		<description><![CDATA[Recently I decided to pick up an apparently fantastic book on Erlang, written by Joe Armstrong (Programming Erlang). Now personally, I’ve never been particularly impressed by the man himself&#8230;too much of that functional programmer arrogance if you ask me. For some reason however, the hype got the better of me, especially after stumbling on a [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I decided to pick up an apparently fantastic book on Erlang, written by Joe Armstrong (<a href="http://www.amazon.com/Programming-Erlang-Software-Concurrent-World/dp/193435600X">Programming Erlang</a>). Now personally, I’ve never been particularly impressed by the man himself&#8230;too much of that functional programmer arrogance if you ask me. For some reason however, the hype got the better of me, especially after stumbling on a conversation between Armstrong and a couple of other functional programming ‘nuts’&#8230;uh&#8230;enthusiasts.</p>
<p>Perhaps of interest, is that I’m also quite a fan of functional programming myself, but I’d rather think of myself as avoiding a particularly insidious case of <a href=http://en.wikipedia.org/wiki/No_Silver_Bullet>accidental complexity</a> rather than using a fundamentally better language. I should explain&#8230; While functional programming languages does reduce a lot of the complexity accrued due to side effects and shared memory; they don’t deal with some of the other almost equally dangerous forms of accidental complexity.</p>
<p><em>Note: The actual problem I have with these functional language guys is the assumption that it’s a natural way of thinking about problems. Its not&#8230;it’s just, plain and simple, another way of learning how to solve problems. And its generally not one of the easiest to learn (basic anyone?)</em></p>
<p>I’m talking about <em>compatibility</em> of course, which brings me to the point of this post.</p>
<p><strong>Cygwin&#8230;Mingw&#8230;’.a’&#8230;WTH!!?</strong></p>
<p>After learning Erlang, and believing (perhaps even <em>jumping the gun</em> slightly), that I would be up to a real challenge, I realized that one thing was missing. A decent flexible, portable, Erlang code only FFI interface.</p>
<p>My challenge&#8230;write a real-time, computer game using Erlang. The likely candidate would be a space combat sim, within the vain of a Freespace2 style game (graphics and gameplay wise&#8230;hopefully the story will actually give our hero an actual name this time:)</p>
<p>Unfortunately the existing FFI in Erlang is either to use a network port to a C program linked to the candidate library, or to use a “<em>linked-in driver</em>”, attached to the VM and talking the VM’s data-structures in order to facilitate communication. <em>Damn.</em></p>
<p>Talking to VM’s in case you’ve never tried it (although that seems unlikely if your reading my blog ;), is always a major <em>pita</em>. You effectively skewered between two of the most awkward types of interfaces known to programming kind, and worse yet, your only weapon of choice is what C gives you&#8230;or worse&#8230;a code generator (SWIG be damned).</p>
<p>No&#8230; What I need is something like the Pythoneers, imo brilliant, library&#8230;<a href="http://docs.python.org/lib/ctypes-ctypes-tutorial.html">CTypes</a>. And for C interfacing, the ctypes library uses a C level library called libffi (sort of anyway).</p>
<p>While this <a href="http://sourceware.org/libffi/">libffi</a> based library of mine will no doubt be the topic of a future post, it does bring up a rather gruesome topic that I’ve been avoiding for quite some type now&#8230;Cygwin and Mingw.</p>
<p>After many hours of searching the web I’ve finally found what appears to be the solution.</p>
<p>Cygwin, as we all know is just a *nix/POSIX subsystem running over the windows COFF binaries (afaik), which allows us to blend windows and bash tasks during our development process (like using Windows compatible GNU/Make makefiles).</p>
<p>Mingw is where I got confused. You can find it in the installer for Cygwin, which put me under the assumption that it was more or less the default for this stuff&#8230;it isn’t.</p>
<p>Mingw is simply a cross-compiling target for GCC, which targets COFF binaries and the win32 C library (I can’t remember which one&#8230;I believe its the one in C:\windows however).</p>
<p>This means that to compile a binary for windows&#8230;one that doesn’t depend on cygwin.dll, or infact any of the cygwin dependent libraries you simply need to tell GCC to use the Mingw target&#8230;uh&#8230;sure&#8230;that sounds easy.</p>
<p>Actually, it turns out that this process is so involved sometimes (cross-compiling) that the mingw guys (or is that the Cygwin guys?) decided to make it easy. All you have to do, as mere mortals, is pass –mno-cygwin to GCC <em>(“CFLAGS=’-mno-cygwin’ ./configure;make)</em>, and that’s it!</p>
<p>Fantastic&#8230;now back to the real challenge&#8230;using libffi to create my “Erlang C Types” library&#8230;</p>
<p>&#8211; Lorenz</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/06/cygwin-mingw-a-wth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Return of the Functional Programmer</title>
		<link>http://alexicalmistake.com/2008/04/return-of-the-functional-programmer/</link>
		<comments>http://alexicalmistake.com/2008/04/return-of-the-functional-programmer/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 12:12:28 +0000</pubDate>
		<dc:creator>Lorenz Pretterhofer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[caml]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[functional]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://krysole.net/2008/04/11/return-of-the-functional-programmer/</guid>
		<description><![CDATA[JAOO 2007: Joe Armstrong &#8211; On Earlang, OO, Concurrency, Shared State and the Future, Part 1
Apparently Object-Oriented programming was misinterpreted by the yanks, and programming must ultimately the programming world should specialize based on the task at hand, choosing the most appropriate function languages in the process&#8230;
you be the judge, but either way a very [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://channel9.msdn.com/ShowPost.aspx?PostID=351659">JAOO 2007: Joe Armstrong &#8211; On Earlang, OO, Concurrency, Shared State and the Future, Part 1</a></p>
<p>Apparently Object-Oriented programming was misinterpreted by the yanks, and programming must ultimately the programming world should specialize based on the task at hand, choosing the most appropriate function languages in the process&#8230;</p>
<p>you be the judge, but either way a very interesting viewing&#8230;</p>
<p>untill then, let the side-effects be with you, joe&#8230;</p>
<p>&#8230;uh&#8230;</p>
<p>&#8230;meh, Star Wars is American anyway, and functional languages would make life boring and bug free anyway ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://alexicalmistake.com/2008/04/return-of-the-functional-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
