[Haskell-beginners] How to "add column" to a Table?
Michael Orlitzky
michael at orlitzky.com
Sun Apr 26 19:46:23 UTC 2015
On 04/26/2015 06:13 AM, martin wrote:
> Hello all,
>
> I suppose the natural representation for a Table is a List of Tuples. Or more generally I'll probably end up with a type
> "Table a" where a stands for the Columns.
>
> I cannot figure out how to add a new Column to a Table. What would be the type of such an operation? If I just want to
> add an empty Column (which what an RDBMS would do), would I do something like this?
>
> addColumn :: ColumnDef -> Table a -> Table b
>
> But what is this ColumnDef? It would need to contain the name and type of the new column. To implement this operation I
> would have to somewehre add a column to something. But what is the type of this something. I don't see how I can add a
> component to a Tuple in a generic way, or can I?
>
type Person = ( Int, -- ID
String, -- Name
Int, -- Age
Bool -- Evil bit
)
type Place = ( Int, -- ID
String, -- Name
Double, -- Longitude
Double, -- Latitude
Double -- Elevation
)
data Column = Person | Place
type Table = [Column]
addColumn :: Table -> Column -> Table
addColumn table col = table ++ [col]
More information about the Beginners
mailing list