@tuple – experimenting with lisp-like syntax as XML replacement

Motivation The following post describes an experimental format which has a lisp-like syntax, with hints of JSON, for storing tree-structured data as text. The main motivation was a need to have a less verbose alternative to XML, but still be readable and editable, support pattern matching and transformation, include common binary datatypes, and enable structural…

Trait-like CSS on HTML

Defining some CSS types One way of structuring the CSS is to define some types over the CSS classes. What these types might be may be is open, but one instance might be Behaviour, Layout and Roles. The types are not used explicitly in the CSS, but are there to help organize and abstract the…

Reminders on Scala syntax

Reminders The companion object (both for own code and Scala’s API) // The class definition with primary constructor class Node protected (val a: String, private var b: String) { // imports definitions in companion object import Node._   // attributes and primary constructor code var busy = false   // methods override def toString() =…

Simple serialization with XML strings in Javascript

Introduction Included in this post are some quick and simple functions for doing XML serialization in Javascript through strings. Reserved XML characters < > & ‘ ” are escaped from input and if any invalid input are found an exception will be thrown. List of XML utility functions: toXmlHeader() – Creates the XML header. toXmlElem(name:…

Comparison against null and undefined in Javascript

Values in Javascript can come from Object – object reference String – immutable, 16-bit USC-2 Boolean – true, false Number – only 64-bit floating point, IEEE 754 (double) null – empty object reference undefined – unassigned variables and function arguments, missing object properties Boolean evaluation of values using == and != operators Values that are…

Code documentation for Javascript and Actionscript 3

Prerequisites for Actionscript documentation Flex 2 SDK Prerequisites for Javascript documentation JSDoc For Windows users: ActivePerl HTML::Template – Perl module required by JSDoc For Windows users: Microsoft NMAKE – Build utility required by ActivePerl to install HTML::Template Actionscript 3 Code Documentation Example documentation: /** * class-description */ class-declaration/** * class-description */ class-declaration /** * method-description…

Multiple Inheritance in Javascript

Notice Javascript does not support multiple inheritance, so the given method will break the instanceof operator! Javascript checks inheritance by traversing the linked list prototype.__proto__ for occurences of the requested prototype. This means that one prototype can only contain one reference to another prototype and in effect only inherit from one prototype. By discarding support…

Associative Arrays in Javascript

Introduction The associative array (also known as hash map) is similar to the ordinary array. Instead of indexing by integers, the associative array uses string keys. It also lacks the bookkeeping abilities of the ordinary array like sort(), splice() etc. In Javascript every object has the ability to act as an associative array. Creating an…