io/print_effect.fz
# This file is part of the Fuzion language implementation.
#
# The Fuzion language implementation is free software: you can redistribute it
# and/or modify it under the terms of the GNU General Public License as published
# by the Free Software Foundation, version 3 of the License.
#
# The Fuzion language implementation 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 along with The
# Fuzion language implementation. If not, see <https://www.gnu.org/licenses/>.
# -----------------------------------------------------------------------
#
# Tokiwa Software GmbH, Germany
#
# Source code of Fuzion standard library feature print_effect
#
# Author: Fridtjof Siebert (siebert@tokiwa.software)
#
# -----------------------------------------------------------------------
# print_effect -- effect providing an output stream
#
# This is used as heir feature for effects such as io.out and io.err.
#
public print_effect (p Print_Handler) : simple_effect
is
# print the given string followed be new line
#
public println (s Any) =>
p.println s
replace
# print the given string
#
public print (s Any) =>
p.print s
replace
# print new line
#
public println =>
p.println
replace
public Print_Handler ref is
println(s Any) =>
print (s.as_string + (codepoint 10))
println =>
print (codepoint 10)
public print(s Any) unit => abstract