Sunday, September 26, 2010

wumpus-basic

Copperbox revision 1748.

I've changed LRText - the monad is now called LRText rather than TextM and the run functions run it as a LocGraphic rather than run it in the Drawing monad.

Running as a LocGraphic is a bit more flexible that running in the Drawing monad. It also puts it at the same level in the "monad hierarchy" as textline - which seems correct.

wumpus-core

Copperbox revision 1747.

I've rewritten the text label escape character lexer -it can now handle hexadecimal and octal character codes. It also had a limitation where it only worked for alphabetic names, but some symbol names require alpha-numeric names (e.g. "phi1" in the Symbol font table). This limitation has been fixed.

wumpus-basic

Copperbox revision 1746.

Work on an example commuting diagram. Wumpus will never compete with TikZ / PGF or XY-Pic as it cannot support TeX's mathematical formula typesetting, though the result so far is passable and the intention is to discover immediate weak spots in Wumpus rather than generate beautiful graphics.

Saturday, September 25, 2010

wumpus-basic

Copperbox revision 1745.

I've implemented an example petri net. The code is quite crude as I'm using absolute positions but the drawing is quite good - very close to the original source in Claus Reinke's Haskell-Coloured Petri Nets paper.

wumpus-basic

Copperbox revision 1744.

Now that shapes are working, I'm looking at connectors and paths again.This is the first round of work as I try to draw a petri net.

wumpus-basic

Copperbox revision 1743.

The shapes (except coordinate) now support labels. Unlike original code in Wumpus-Shapes, supporting labels is just a matter of adding another constructor which supplies and adaptor to the drawing function that draws the label. No label is stored in the datatypes so adding variants for LRText or multi-line text is straight-forward and doesn't need to change the underlying code.

Friday, September 24, 2010

wumpus-basic

Copperbox revision 1742.

I've added diamond, coordinate and ellipse- so now Wumpus-Basic has all the shapes from Wumpus-Shapes, though a lot of the anchor points aren't yet implemented. Also I haven't looked at text labels yet either, but the new Shape type should be an improvement here.

wumpus-basic

Copperbox revision 1741.

I've started re-implementing Shapes inside Wumpus-Basic. The new Shape datatype looks like a good improvement over Wumpus-Shapes - one type represents all shapes until they are drawn, then a specific type is created as an Image supporting anchors pertinent to the specific shape.

wumpus-shapes

Copperbox revision 1740.

I've updated Shapes to use the new types and drawing primitives from Wumpus-Basic.

Ideally Shapes should be moved into Basic, but currently the code is mostly horrible - particularly, there is a lot of almost duplicated code for manipulating individual shapes. Having Shapes in Wumpus-Basic would spur on the development of connectors - supporting usable connectors rather than the current single, proof of concept would be a major step forward.

Thursday, September 23, 2010

wumpus-basic

Copperbox revision 1739.

I've shimmed the FontSize API from Wumpus-Core in Basic.Graphic.Query - the shim uses the current front size via the DrawingF functional type.

wumpus-basic

Copperbox revision 1738.


I've added a new drawing primitive to draw text where the supplied point is the center rather than baseline left. Because it needs font metrics which Wumpus doen't really have, I've given it the convoluted name centermonoTextline to emphasize that the metrics are calculated from a monospace font (i.e. Courier).

wumpus-basic

Copperbox revision 1737.

Minor updates - I've added functions halfsize and doublesize to Graphic.DrawingContext. Within a localCtx these change the size of font and thus the mark height, so on can draw small or large dots, arrowheads, etc.

wumpus-basic

Copperbox revision 1736.

I've added a new module Basic.Graphic.Query providing queries on the DrawingContext. Using this module should obviate the need to use the localDF function in client code.

wumpus-basic

Copperbox revision 1735.

Various minor changes - added some design notes and changed the textDimensions function, it is now a query - a special type of DrawingF function. The Drawing Context API can probably be improved if the synthesized attributes getters are turned into queries rather than functions that must be explicitly run with localDF.

Wednesday, September 22, 2010

wumpus-core

Copperbox revision 1734.

I've fixed the clipping path output bugs for both SVG and PostScript.

A new picture using clipping paths is on Flickr:
http://www.flickr.com/photos/44929957@N03/5015691912/

wumpus-basic

Copperbox revision 1733.

I've added a clipping path example - ClipPic. Perhaps unsurprising it doesn't work - the clipping functionality in Wumpus-Core hasn't been tested before. Seemingly clipping is broken for both SVG and PostScript.

wumpus-core

Copperbox revision 1732.

I've fixed a bug with picOver where the drawing order was wrong. This should have been caught in the last release when the drawing order changed, unfortunately it slipped through...

wumpus-basic

Copperbox revision 1731.

I've updated the ColourCharts example to use the new chains. This isn't a definitive version as the chain code is a way off having a good API.

Tuesday, September 21, 2010

wumpus-basic

Copperbox revision 1730.

I've implemented the FontPic example with chains. While mostly this is good - the code size is smaller and it now uses the new graphic types - I have had to hack the Chains.Derived module to get it to work. Chains still need quite a lot of work, especially to make them composable.

wumpus-basic

Copperbox revision 1729.

Some more work on Chains, plus I've added a field for line spacing to the the drawing context.

The line spacing is actually its a scaling factor of the point size - 1.2 times the point size turns out to be a good factor. With this in place I've been able to add a graphic primitive for multi-line text labels, Wumpus-Core originally had a function for this but it got lost as the Picture Language module got punted about.

wumpus-basic

Copperbox revision 1728.

I've moved Chains out from Basic.Graphic and into their own directory Basic.Chains. Also the Chain module has been split into two modules Base (for the types and primitive operations) and Derived for actual Chain producing functions such as table generators.

wumpus-basic

Copperbox revision 1727.

Some new work on Chains - representing them as unfolds with scaling in the X and Y axes. The unfold "step" generates a pair with X and Y possibly at different types, the unfold "algorithm" also applies the scalings at each step casting X and Y to the same type and forming a Point2.

Monday, September 20, 2010

wumpus-basic

Copperbox revision 1726.

I've defined named elements for all of the glyphs in the Symbol font expect for the multiline ones such as the "big-integral" sign and braces. The example prints the full table, though it will need tidying up once I have worked out how to do "chains".

Sunday, September 19, 2010

wumpus-basic

Copperbox revision 1725.

I've added more named symbols to Text.LRSymbol, though there is still four and a half columns-worth to add.

Using the Symbol font would have lots of potential for graphics, its a pity text is "expensive" in the SVG generated by Wumpus-Core because I have to add matrix transformations to correct the page coordinates.

wumpus - new releases

Copperbox revision 1724.

New Wumpus releases:

wumpus-core-0.33.0
wumpus-basic-0.8.0
wumpus-microprint-0.8.0
wumpus-tree-0.7.0

wumpus-tree

Copperbox revision 1723.

I've added some more examples to Demo01.hs.

wumpus

Copperbox revision 1722.

Minor updates - Turtle drawing now has a PointSupplyM instance, it should have had one the PointSupplyM class was added but I missed a trick.

Wumpus-Tree and Wumpus-Microprint have been updated to work with the latest changes to Wumpus-Basic.

wumpus

Copperbox revision 1721.

I've updated the manual in Wumpus-Core. At some point it could do with a complete redraft, but this won't be soon.

Also I've updated the SafeFonts module in Wumpus.Basic to work with the changes to the FontFace data type.

Saturday, September 18, 2010

wumpus-core

Copperbox revision 1720.

I've updated all the examples to work with the changes to the FontFace datatype.

wumpus-core

Copperbox revision 1719.

Support for multiple 'font encoders' is now working - the KernPic example prints upper-case Upsilon properly in both SVG and PostScript.

Caveat - most of the examples will currently be broken and need updating to work with the changed FontFace date type.

wumpus-core

Copperbox revision 1718.

More work on supporting multiple font encoder tables. I've revised the data types and the rendering monads, but haven't yet hooked up changing the encoder during the output phase.

Friday, September 17, 2010

wumpus-core

Copperbox revision 1717.

First part of the work to support encoding Symbol font names. I've defined the encoder table, but that's the easy albeit laborious bit, the really work is going to be changing the internals of Wumpus-Core so that it can associate an encoder with a font.

wumpus-basic

Copperbox revision 1716.

Work on named character functions for the Symbol Font.

I've finally found out why I can't print capital Upsilon - it is a special character so needs to be amp-hash-161-semi in SVG or forward-slash-Upsilon1 in PostScript. This is unfortunate as it contradicts how text encoding works in Wumpus-Core - currently an encoding (e.g. Latin1) is associated with a drawing, but it looks like it will have to be associated with a font / character set instead.

wumpus-basic

Copperbox revision 1715.

I've reworked the LRText module.

The module now tracks two sets of labels - one in the current font; and one in Symbol, for Greek letters, mathematical symbols etc. The two labels are overlaid as they are printed so it looks as though Wumpus is supporting a font changes within a label, although it is actually a trick.

wumpus-core

Copperbox revision 1714.

I've added a function spacerWidth to calculate the spacer size for mono-space font (i.e. Courier) at the supplied point size.

Thursday, September 16, 2010

wumpus-basic

Copperbox revision 1713.

I've reworked the Basic.Graphic.Drawing API.

The new API is a bit cutesy - there are some alias definitions for ($) to make it appear more declarative, but I think its still an improvement.

wumpus-core

Copperbox revision 1712.

I've changed the printing order so it matches SVG and PostScript. The first element in a list of PrimElement is drawn first...

This has the unfortunate consequence that the Z-Order of drawing has now changed, but it makes most sense that the drawing order matches the two output formats. To handle Z-Order "comfortably", Wumpus-Basic should be extended with some notion of layers, although this won't be soon.

wumpus-basic

Copperbox revision 1711.

I've added support for annotating the Graphic and Image types with SVG hyperlinks as they are drawn.

I've also added a the ability to build pictures that exploit Wumpus-Core's "font delta" SVG optimization.

wumpus

Copper box revision 1710.

Wumpus-Basic - work on polishing Graphic.BaseTypes. Making HPrim and Graphic monoids, renamed DrawingObject to DrawingF.

Wumpus-Core - the newly added colours (magenta, cyan, yellow) have been hidden from the top level shim module, they can be exposed by importing Wumpus.Core.Colour directly.

Wednesday, September 15, 2010

wumpus - new releases

Copperbox revision 1709.

A new set of release archives for Wumpus:

wumpus-core-0.32.0
wumpus-basic-0.7.0
wumpus-tree-0.6.0
wumpus-microprint-0.7.0

wumpus

Copperbox revision 1708.

I've changed the Z-Order of trace in the drawing monad - the first expression in a do-block is drawn on top. This is how previously worked in Wumpus-Basic, although it is an arbitrary decision. Ideally there should be some control over layers in the Drawing monad.

Also I've renamed the primitive dots to be marks - marks are dots that are just drawn and don't have anchor handles.

Finally there are some sundry cabal file and Haddock doc changes; I'll probably make a release of the current code.

Tuesday, September 14, 2010

wumpus-basic

Copperbox revision 1707.

I've implemented the Pentagon and Star dots - previously they were stubbed to draw a diamond.

wumpus-basic

Copperbox revision 1706.

Updates to get the DotPic example working.

Some of the code in the Dot modules is currently stubbed - the star dot and the pentagon dot are not yet implemented and fall back to drawing a diamond.

wumpus-tree

Copperbox revision 1705.

I've updated Wumpus-Tree to work with the latest revision of Wumpus-Basic.

wumpus-microprint

Copperbox revision 1704.

I've updated Wumpus-Microprint to work with the latest Wumpus-Basic.

wumpus-basic

Copperbox revision 1703.

The Turtle monad has been updated to work with the new Drawing monad.

wumpus-basic

Copperbox revision 1702.

The Picture and Path01 examples have been updated and are working again.

wumpus-basic

Copperbox revision 1701.

I've reorganized the file names of the Basic.Graphic modules now that the code has solidified a bit. Also I've deleted some of the files that had become redundant - particularly the monad modules for Tracing and DrawingCtx, they are superseded by Graphic.Drawing.

Quite a few of the examples are currently broken because of these file changes, they will be updated in due course.

Monday, September 13, 2010

wumpus-basic

Copperbox revision 1700.

I've updated the Path example.

One thing I hadn't realized is that the new drawing monad draws from the background to the foreground for the Z-order. This is the other way round from how things used to work, and I'll have to consider which way is the most 'natural' - especially when Wumpus-Core draws in 'list-order'.

List order is where the front of a list of Prims is drawn on top in the Z-order.

wumpus-basic

Copperbox revision 1699.

The Arrow example is now working with the new Graphic types. Most of the Arrow and Dot code is now working whereas previously quite a lot of it was commented out.

wumpus-basic

Copperbox revision 1698.

Work on migrating Arrows and Paths to use the new Graphic types.

Quite a lot of code is commented out at the moment, though the modules do compile (the example Arrow01 doesn't).

Sunday, September 12, 2010

wumpus-basic

Copperbox revision 1697.

Work on changing the anchor-dots to use the new Graphic types. Circle dot is working, I haven't looked at the other dots yet, but the example (ADotPic) now works.

wumpus-basic

Copperbox revision 1696.

I've reworked the Graphics types significantly and recoded the Colour Charts example to use them.

As "everything" above the Wumpus-Core imports has been reworked, a lot of code needs rewriting or replacing to integrate the new types.

Saturday, September 11, 2010

wumpus-core

Copperbox revision 1695.

I've renamed the bordered and borderedEllipse functions in Core.Picture.

bordered becomes fillStroke

borderedEllipse becomes fillStrokeEllipse

wumpus-core

Copperbox revision 1694.

I've changed the 'primitive' transformations to work on PrimElements rather than Primitives. As these transformations are an efficiency hack anyway, I'm not going to worry about the semantics of transforming XLinkGroups, at least for the moment.

I've also updated all the examples to run again with the new type hierarchy.

Friday, September 10, 2010

wumpus-core

Copperbox revision 1693.

Second round of changes to move SVG hyperlinks in the syntax tree. This commit removes the old code and tidies up the data types.

One outstanding problem is that because XLinkGroup groups Primitives together, primitive transformations don't work as they used to. Primitives used to support some transformations that were sensible on single elements whilst not being strictly affine (because there was no notion of a frame at this level in the syntax).

An XLinkGroup could map transformations on the elements it groups, but because grouped primitives have some notion of coordinates I feel this suggests proper affine transformation when it wouldn't be. Certainly the API needs some more thought.

wumpus-core

Copperbox revision 1692.

Changes to the syntax of Pictures - primitives are now nested in a tree to better match how SVG handles hyperlinks.

For this change, I've just added the new code moving hyperlinks up a level in the syntax tree, I haven't removed the old code where hyperlinks are attributed to Primitives. I will do this in the next commit, as well as removing the hyperlinked primitive constructors (xcstroke, xtextlabel, ...).

Unfortunately, while the new work better matches SVG it adds some penalties - more constructors in the tree making pictures take more runtime space and some processing overheads. These penalties are incurred whether or not the picture actually has hyperlinks - each primitive is now wrapped in an extra constructor.

Memo from head office... Starlings

Memo: Arity families of starlings deemed unnecessary.

...

Often I use an arity family of starling combinators to manipulate records:


star :: (r -> a -> ans) -> (r -> a) -> r -> ans
star2 :: (r -> a -> b -> ans) -> (r -> a) -> (r -> b) -> r -> ans

star comb f1 x = comb x (f1 x)
star2 comb f1 f2 x = comb x (f1 x) (f2 x)


Tracking source position in a parser is a typical example:


-- Example a tracking the source position in a parser:


data SrcPos = SrcPos {
src_line :: Int,
src_column :: Int,
src_tab_stop :: Int
}


incrCol :: SrcPos -> SrcPos
incrCol = star (\s i -> s { src_column=i+1 }) src_column

incrTab :: SrcPos -> SrcPos
incrTab = star2 (\s i t -> s { src_column=i+t }) src_column src_tab_stop


incrLine :: SrcPos -> SrcPos
incrLine = star (\s i -> s { src_line =i+1, src_column=1 }) src_line


For the 1 arity case, infix obviously works:


incrLine :: SrcPos -> SrcPos
incrLine = (\s i -> s { src_line =i+1, src_column=1 }) `star` src_line


However, giving `star` the appropriate left fixity means composition works well, removing the need for an arity family:


incrTab :: SrcPos -> SrcPos
incrTab = (\s i t -> s { src_column=i+t }) `star` src_column `star` src_tab_stop


As Applictive's (<*>) is starling for the function instance, I don't even need a new function:


incrTab :: SrcPos -> SrcPos
incrTab = (\s i t -> s { src_column=i+t }) <*> src_column <*> src_tab_stop


Note, I don't use (<$>) and the left hand function has one more argument 's' than usual for the applicative style.

Thursday, September 9, 2010

wumpus-basic

Copperbox revision 1691.

Experiment with a more applicative style for the Graphic types.

Its not a big success - the code is rather horrible, and some of the necessary operations turn out to be 'context sensitive' so it is really monadic rather than applicative. Drawing a centered text label is context sensitive - this needs the font size from the environment to calculate the centering vector (i.e the displacement for the real origin of a text label which is baseline left).

Another problem that I've just discovered, is that links seem to be at the wrong place in the syntax tree in Wumpus-Core. Primitives get labelled with links, but really a link should be a tree node with primitives as children.

Wednesday, September 8, 2010

wumpus-core

Copperbox revision 1690.

I've changed the textBounds function to work properly with escaped / encoded text.

Previous this function took a length parameter, which would typically be deduced simply be calling length on the input string. However length would count the characters used to express any escaped special chars. Now the API passes in the string, not its length, so the Wumpus can count the escapes properly.

Tuesday, September 7, 2010

wumpus-basic

Copperbox revision 1689.

I've changed the Colour Chart example to use the new graphics types.

Some bits are still a too clunky - it show probably run in a Writer monad to collect intermediate graphics, and the point supply code needs re-working.

wumpus-basic

Copperbox revision 1688.

More preliminary work on re-designing the graphics types. I've recoded some of the "old primitives" with the new CFGraphic type.

Monday, September 6, 2010

wumpus-basic

Copperbox revision 1687.

First step in redesigning the Graphic types.

The new Graphic type is no longer a function from Point to [Primitive] - instead its a function from DrawingContext to [Primitive] (actually the list is a Hughes list, for good concatenation behaviour).

It seems that only certain Graphics are from Point -> [Primitive] so I've a new type to capture that:

type CFGraphic u = Point2 u -> Graphic u

Sunday, September 5, 2010

wumpus

Copperbox revision 1684.

Updates to Wumpus-Core prior to a release...


Copperbox revision 1685.

Updates to Wumpus-Basic prior to a release...


Copperbox revision 1686.

New release archives. I decided to make a release today, so tomorrow I can start on reworking the Graphic type in Wumpus-Basic.

wumpus

Copperbox revision 1683.

Minor updates to get the released libraries (Tree and Microprint) compiling with the latest updates to Core and Basic.

I'll probably make a new release tomorrow, though in some ways its a pity I put Tree, Microprint and Basic on Hackage as they are so rough and updates usually don't add anything; but if I hadn't uploaded them I wouldn't have improved Core (and if I only update Core on Hackage the other projects will be broken). Hopefully, the current Core will now be fairly stable and I can concentrate on redesigning Basic.

wumpus-basic

Copperbox revision 1682.

I've updated Wumpus-Basic to work with the latest Wumpus-Core.

Some of the code has now got quite messy, including spanning lines wider than 80 chars (terrible!), but the Graphic data type needs reworking so it is makes little sense to tidy up the code at the moment.

wumpus-core

Copperbox revision 1681.

"Kerning" is now implemented for SVG.

This is quite an efficient saving for Wumpus - previously to get the similar "kerning" each character would need to be a separate text label. Now each placement is encoded as an individual x coordinate, and kerned label has points like this:

x="0.0 15.0 25.0 35.0 41.0 51.0 57.0" y="0.0"

This is the last optimization that I plan to do for Wumpus-Core for the time being. Wumpus-Basic really needs some attention...

wumpus-core

Copperbox revision 1680.

"Kerning" output is now working correctly for PostScript. Also I've made vertical kerning go downwards, it was a bit of an oversight to initially go upwards.

wumpus-core

Copperbox revision 1679.

I've implemented kerning label drawing for PostScript, though the drawing is incorrect at the moment. The SVG implementation is a bit more complicated and will be done once the PostScript version is corrected.

wumpus-core

Copperbox revision 1678.

Some work adding Haddock docs to the Text Encoding modules. Although the haddock docs are for internal functions and won't get built, I had forgotten how the encoding code works so they comments will still be useful.

Also I've started work on extending Labels to allow layout control of individual characters. SVG allows text elements to have coordinate lists rather than just a start point. Making use of this would be much more efficient than making each character a separate label, which is currently how you have to do it in Wumpus.

Saturday, September 4, 2010

wumpus-core

Copperbox revision 1677.

I've specialized the SVG graphics state delta code to work solely with font attributes, omitting stroke attributes which looked more like they would increase code size rather than reduce it.

wumpus-core

Copperbox revision 1676.

The SVG delta code size optimization is now working.

However, it looks like it will beneficial only for font properties and detrimental for stroke properties (because of this I've elided a stroke implementation). Given that I'm not going to add a stroke implementation it would be wise to specialize the GSUpdate data type and API exposed via Picture just to concern font properties, rather than go with the current version.

wumpus-core

Copperbox revision 1675.

Work on SVG "delta" output optimization - i.e. attributing a nesting group (g) element with common properties rather than every node 'below' it.

Most of the work for this was done in version 0.30.0, however there was no API interface to actually use of it. Now that I've added the interface, I've found that the output doesn't quite work...

Friday, September 3, 2010

wumpus-core

Copperbox revision 1674.

I've removed the classes Stroke, Fill, Ellipse and TextLabel from the Picture module. The methods they provided are now just implemented as non-overloaded functions. With recent changes to Wumpus-Core (simplification of StrokeAttr, unification on one colour type - RGBi) there is less need for overloading. It would still be useful to as it handles defaults quite well, however I decided I wanted a simpler interface - plus I'd like to use some of the class names in Wumpus-Basic.

wumpus-basic

Copperbox revision 1673.

Sundry updates to get the examples working with the latest revision of Wumpus-Core.

wumpus-core

Copperbox revision 1672.

Fixed bug in SVG output where the attributes list for paths was not space separated. Changed the StrokeAttr constructor from zeroSA to the more descriptive defaultSA.

wumpus-core

Copperbox revision 1671.

I've changed the StrokeAttributes to be a datatype rather than a list of "deltas".

The delta representation wasn't as useful as originally imagined and after changing the PostScript delta code in the last release it was starting to feel cumbersome.

wumpus-core

Copperbox revision 1670.

I've added support for bordered paths - closed paths that are drawn with a background fill colour and a foreground stroked border. Most of the code to do this was in the last release, but I couldn't think of a name - bordered is unremarkable, but it only occurred to me yesterday - so I left out a full implementation.

SVG can draw bordered paths with one path element - this can be quite an efficiency saving for some elements e.g. bordered dots. Previously Wumpus drew them with two operations.

wumpus

Copperbox revision 1669.

Updates to Shapes, Clave and PSC to get them to work with the latest Core and Basic.

Thursday, September 2, 2010

wumpus - new releases

Copperbox revision 1667.

Updates of verstion numbers and cabal files to Microprint, Basic and Tree.

Copperbox revision 1668.

New release archives - wumpus-core has been bumped to 0.30.0 from 0.23.0 because it has had substantial internal changes:

wumpus-core-0.30.0
wumpus-basic-0.5.0
wumpus-microprint-0.5.0
wumpus-tree-0.4.0

wumpus-core

Copperbox revision 1666.

I've added extendBoundary back into Core.Picture - it had got lost in the transition to version 0.30.0.

wumpus-basic

Copperbox revision 1665.

I've added haddock docs to the exposed PictureLanguage functions and completed the example, a picture is on Flickr:

http://www.flickr.com/photos/44929957@N03/4951462433/

wumpus-basic

Copperbox revision 1664.

Work on the picture language. Some of the code is still a bit incomprehensible, but it is improving.

wumpus-core

Copperbox revision 1663.

I've fixed a bug in the PostScript output where stoke attributes were not getting reset after changes (e.g. to the dash pattern).

As a note to self, the current implementation of StrokeAttr's is being to look particularly inefficient. While the list representation initially seemed good - only store what is specified - processing it requires a lot of work. It would probably be better to use a data type similar to StrokeDelta that has just been added to OutputPostScript.

wumpus-basic, wumpus-tree, wumpus-microprint

Copperbox revision 1662.

Updates to all three libraries to get them to work with Wumpus-Core version 0.30.0.

Wednesday, September 1, 2010

wumpus-basic

Copperbox revision 1661.

More work updating Wupus-Basic to work with the revised Wumpus-Core. Particularly, I've reworked the PictureLanguage module quite a bit.

wumpus-core

Copperbox revision 1660.

I've renamed the colour data type (and its sole constructor) RGB255 to RGBi - having digits in the name was visually distracting for the SVG and X11 named colours modules.

wumpus-basic

Copperbox revision 1659.

Initial work bring Basic up-to-date with Wumpus-Core, mainly changing the SVG and X11 colour modules to use integer values.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.