Patch title: Release 94 bulk changes
Abstract:
File: /pliant/language/compiler/type/type2.pli
Key:
    Removed line
    Added line
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# version 2 along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

scope "/pliant/language/" "/pliant/install/"
module "/pliant/install/ring1.pli"

public

meta '. maybe' e
  if e:size<2
    return
  for (var Int i) 0 e:size-1
    if (e:i constant Type)=null
      return
  for (var Int i) 1 e:size-1
    ((e:0 constant Type) map Type) maybe ((e:i constant Type) map Type)
  e set_void_result


method t bitsize -> n
  arg Type t ; arg Int n
  n := t:size*8

method t read_only_size -> n
  arg Type t ; arg Int n
  weak_definition
  n := t size

alias '. size' '. read_only_size' in "/pliant/language/basic/unsafe.pli"