- ## lib/Monad/Writer.rakumod
- use Monad;
- unit class Monad::Writer is Monad;
- has $.value;
- has $.logs = '';
- method unwrap {
- $.value;
- }
- method logs {
- $.logs;
- }
- method unit($value --> Monad::Writer) {
- self.new(value => $value);
- }
- ## t/06_writer.t
- use Test;
- use lib 'lib';
- use Monad;
- use Monad::Writer;
- plan 10;
- # unit
- my $w1 = Monad::Writer.unit(42);
- isa-ok $w1, Monad::Writer, 'unit() returns a Monad::Writer';
- is $w1.unwrap, 42, 'unwrap returns correct value';
- is $w1.logs, '', 'initial log is empty';