///|
pub fn csv_header(columns : ArrayView[String]) -> String {
  columns.join(",")
}

///|
pub fn csv_row(values : ArrayView[Double]) -> String {
  values.map(fn(v) { v.to_string() }).join(",")
}

///|
pub fn field_to_csv(field : Field1D) -> String {
  let out = StringBuilder()
  out.write_string("x,charge_density,electric,potential\n")
  for i in 0.. String {
  let out = StringBuilder()
  out.write_string("x,v,weight,charge,mass\n")
  for p in particles {
    out.write_string("\{p.x},\{p.v},\{p.weight},\{p.charge},\{p.mass}\n")
  }
  out.to_string()
}