Skip to content

Instantly share code, notes, and snippets.

@raiph

raiph/.md Secret

Last active January 21, 2020 18:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raiph/be97c1a0794fbdfda9a86b7a9d2a113c to your computer and use it in GitHub Desktop.
Save raiph/be97c1a0794fbdfda9a86b7a9d2a113c to your computer and use it in GitHub Desktop.
rebless per SO (but with try ... and say $!) and display of verbose config with repl.it rakudo star 2019.03.1

This code:

class MyInt is Int { };
my $x = 42;
try Metamodel::Primitives.rebless( $x, MyInt);
say $!;
say $*PERL.compiler.verbose-config;

running on repl.it displays:

distro::auth=https://www.ubuntu.com/
distro::desc=Ubuntu 18.04.3 LTS
distro::is-win=False
distro::name=ubuntu
distro::path-sep=:
distro::release=18.04
distro::signature=
distro::version=18.04.3.LTS.Bionic.Beaver
kernel::arch=x86_64
kernel::archname=x86_64-linux
kernel::auth=unknown
kernel::bits=64
kernel::desc=
kernel::hardware=x86_64
kernel::name=linux
kernel::release=4.15.0-1036-gcp
kernel::signature=
kernel::version=38.16.04.1.Ubuntu.SMP.Tue.Jun.25.15.30.46.UTC.2019
moar::ar=ar
moar::arflags=rcs
moar::arout=
moar::as=as
moar::asm=.s
moar::asmout=-o
moar::asmswitch=-S
moar::auxclean=@:
moar::be=0
moar::bindir=/opt/rakudo-pkg/bin
moar::booltype=_Bool
moar::can_specific_werror=1
moar::can_unaligned_int32=1
moar::can_unaligned_int64=1
moar::can_unaligned_num64=1
moar::cancgoto=1
moar::canrdtscp=1
moar::cat=cat
moar::cc=gcc
moar::ccdebugflags=-g3
moar::ccdef=-D
moar::ccdefflags=-D_REENTRANT -D_FILE_OFFSET_BITS=64
moar::ccinc=-I
moar::ccinstflags=-pg
moar::ccjitflags=
moar::ccmiscflags=-Werror=declaration-after-statement -Werror=pointer-arith
moar::ccoptiflags=-O3 -DNDEBUG
moar::ccout=-o
moar::ccshared=-fPIC
moar::ccswitch=-c
moar::ccwarnflags=
moar::cflags=-Werror=declaration-after-statement -Werror=pointer-arith -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC
moar::cincludes= -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libatomicops/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback
moar::cmpclean=cd 3rdparty/cmp && $(RM) libcmp.a && $(RM) cmp.lib && $(RM) cmp.obj && $(MAKE) clean
moar::cmplib=3rdparty/cmp/libcmp.a
moar::cmpobjects=3rdparty/cmp/cmp.o
moar::cmprule=$(AR) $(ARFLAGS) $@ 3rdparty/cmp/*.o
moar::config=--prefix=/opt/rakudo-pkg
moar::cppout=>
moar::cppswitch=-E
moar::crossconf=
moar::dasm_flags=-D POSIX=1
moar::dcbclean=$(RM) 3rdparty/dyncall/dyncallback/libdyncallback_s.a
moar::dcblib=3rdparty/dyncall/dyncallback/libdyncallback_s.a
moar::dcbobjects=
moar::dcbrule=@:
moar::dcclean=cd 3rdparty/dyncall && $(MAKE) -f Makefile clean
moar::dclib=3rdparty/dyncall/dyncall/libdyncall_s.a
moar::dcobjects=
moar::dcrule=cd 3rdparty/dyncall &&  ./configure && CC='$(CC)' CFLAGS='-fPIC' $(MAKE) -f Makefile
moar::defs[0]=_REENTRANT
moar::defs[1]=_FILE_OFFSET_BITS=64
moar::dlclean=$(RM) 3rdparty/dyncall/dynload/libdynload_s.a
moar::dll=lib%s.so
moar::dllexport=__attribute__ ((visibility ("default")))
moar::dllib=3rdparty/dyncall/dynload/libdynload_s.a
moar::dllimport=__attribute__ ((visibility ("default")))
moar::dlllocal=__attribute__ ((visibility ("hidden")))
moar::dlobjects=
moar::dlrule=@:
moar::exe=
moar::expect_condition=__builtin_expect((condition), (expection))
moar::expect_likely=__builtin_expect(!!(condition), 1)
moar::expect_unlikely=__builtin_expect(!!(condition), 0)
moar::formatattribute=__attribute__((format(X, Y, Z)))
moar::has_fn_malloc_trim=1
moar::has_pthread_yield=0
moar::havebooltype=1
moar::impinst=
moar::install=  $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv/uv   $(CP) 3rdparty/libuv/include/*.h $(DESTDIR)$(PREFIX)/include/libuv   $(CP) 3rdparty/libuv/include/uv/*.h $(DESTDIR)$(PREFIX)/include/libuv/uv $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/armcc $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/gcc   $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/hpc   $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/ibmc  $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/icc   $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/loadstore $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/msftc $(MKPATH) $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/sunc  $(CP) 3rdparty/libatomicops/src/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops$(CP) 3rdparty/libatomicops/src/atomic_ops/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps  $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/armcc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/armcc   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/gcc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/gcc   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/hpc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/hpc   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/ibmc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/ibmc    $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/icc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/icc   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/loadstore/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/loadstore   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/msftc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/msftc   $(CP) 3rdparty/libatomicops/src/atomic_ops/sysdeps/sunc/*.h $(DESTDIR)$(PREFIX)/include/libatomic_ops/atomic_ops/sysdeps/sunc $(MKPATH) $(DESTDIR)$(PREFIX)/include/libtommath    $(CP) 3rdparty/libtommath/*.h $(DESTDIR)$(PREFIX)/include/libtommath $(MKPATH) $(DESTDIR)$(PREFIX)/include/dyncall    $(CP) 3rdparty/dyncall/dynload/*.h $(DESTDIR)$(PREFIX)/include/dyncall   $(CP) 3rdparty/dyncall/dyncall/*.h $(DESTDIR)$(PREFIX)/include/dyncall   $(CP) 3rdparty/dyncall/dyncallback/*.h $(DESTDIR)$(PREFIX)/include/dyncall
moar::jit_arch=MVM_JIT_ARCH_X64
moar::jit_obj=$(JIT_OBJECTS) $(JIT_ARCH_X64)
moar::jit_platform=MVM_JIT_PLATFORM_POSIX
moar::laoclean=cd 3rdparty/libatomicops/src && $(MAKE) distclean
moar::laolib=3rdparty/libatomicops/src/libatomic_ops.a
moar::laoobjects=
moar::laorule=cd 3rdparty/libatomicops && CC='$(CC)' CFLAGS='$(CFLAGS)' ./configure  && cd src && $(MAKE) && cd ..
moar::ld=gcc
moar::lddebugflags=-g3
moar::lddir=-L
moar::ldflags= -O3 -DNDEBUG -Wl,-rpath,"//opt/rakudo-pkg/lib"
moar::ldimp=
moar::ldinstflags=-pg
moar::ldlibs= -lm -lpthread -lrt -ldl
moar::ldmiscflags=
moar::ldoptiflags=-O3 -DNDEBUG
moar::ldout=-o
moar::ldrpath=-Wl,-rpath,"//opt/rakudo-pkg/lib"
moar::ldrpath_relocatable=-Wl,-z,origin,-rpath,'$$ORIGIN/../lib'
moar::ldshared=-shared -fPIC
moar::ldsys=-l%s
moar::ldusr=-l%s
moar::lib=lib%s.a
moar::libdir=/opt/rakudo-pkg/lib
moar::lincludes=
moar::mainflags=-DMVM_SHARED
moar::mainlibs=-L. -lmoar
moar::make=make
moar::mastdir=/opt/rakudo-pkg/share/nqp/lib/MAST
moar::mkflags=
moar::mknoisy=ifneq ($(NOISY), 1)MSG = @echoCMD = @NOOUT = > /dev/nullNOERR = 2> /dev/nullendif
moar::moar=libmoar.so
moar::moardll=libmoar.so
moar::moarlib=libmoar.a
moar::moarshared=
moar::moarshared_norelocatable=
moar::moarshared_relocatable=
moar::mtclean=$(RM) 3rdparty/tinymt/libtinymt.a 3rdparty/tinymt/*.o
moar::mtlib=3rdparty/tinymt/libtinymt.a
moar::mtobjects=3rdparty/tinymt/tinymt64.o
moar::mtrule=$(AR) $(ARFLAGS) $@ 3rdparty/tinymt/*.o
moar::name=moar
moar::nativecall_backend=dyncall
moar::noreturnattribute=__attribute__((noreturn))
moar::noreturnspecifier=
moar::nul=/dev/null
moar::obj=.o
moar::objflags=-DMVM_BUILD_SHARED -fPIC
moar::objout=-o
moar::os=linux
moar::osname=linux
moar::osvers=4.9.0
moar::perl=/usr/bin/perl
moar::pkgconfig=/usr/bin/pkg-config
moar::platform=$(PLATFORM_POSIX)
moar::prefix=/opt/rakudo-pkg
moar::ptr_size=8
moar::rm=rm -f
moar::sh=/bin/sh
moar::shaclean=$(RM) 3rdparty/sha1/libsha1.a 3rdparty/sha1/*.o
moar::shaincludedir=3rdparty/sha1
moar::shalib=3rdparty/sha1/libsha1.a
moar::shaobjects=3rdparty/sha1/sha1.o
moar::sharedlib=
moar::sharule=$(AR) $(ARFLAGS) $@ 3rdparty/sha1/*.o
moar::static_inline=static __inline__
moar::staticlib=
moar::syslibs[0]=m
moar::syslibs[1]=pthread
moar::syslibs[2]=rt
moar::syslibs[3]=dl
moar::thirdpartylibs=3rdparty/cmp/libcmp.a 3rdparty/dyncall/dyncall/libdyncall_s.a 3rdparty/dyncall/dyncallback/libdyncallback_s.a 3rdparty/dyncall/dynload/libdynload_s.a 3rdparty/libatomicops/src/libatomic_ops.a 3rdparty/tinymt/libtinymt.a 3rdparty/sha1/libsha1.a 3rdparty/libtommath/libtommath.a 3rdparty/libuv/libuv.a
moar::tomclean=$(RM) 3rdparty/libtommath/libtommath.a 3rdparty/libtommath/*.o
moar::tomlib=3rdparty/libtommath/libtommath.a
moar::tomobjects=3rdparty/libtommath/bn_error.o 3rdparty/libtommath/bn_fast_mp_invmod.o 3rdparty/libtommath/bn_fast_mp_montgomery_reduce.o 3rdparty/libtommath/bn_fast_s_mp_mul_digs.o 3rdparty/libtommath/bn_fast_s_mp_mul_high_digs.o 3rdparty/libtommath/bn_fast_s_mp_sqr.o 3rdparty/libtommath/bn_mp_2expt.o 3rdparty/libtommath/bn_mp_abs.o 3rdparty/libtommath/bn_mp_add.o 3rdparty/libtommath/bn_mp_add_d.o 3rdparty/libtommath/bn_mp_addmod.o3rdparty/libtommath/bn_mp_and.o 3rdparty/libtommath/bn_mp_clamp.o 3rdparty/libtommath/bn_mp_clear.o 3rdparty/libtommath/bn_mp_clear_multi.o 3rdparty/libtommath/bn_mp_cmp.o 3rdparty/libtommath/bn_mp_cmp_d.o 3rdparty/libtommath/bn_mp_cmp_mag.o 3rdparty/libtommath/bn_mp_cnt_lsb.o 3rdparty/libtommath/bn_mp_copy.o 3rdparty/libtommath/bn_mp_count_bits.o 3rdparty/libtommath/bn_mp_div.o 3rdparty/libtommath/bn_mp_div_2.o 3rdparty/libtommath/bn_mp_div_2d.o 3rdparty/libtommath/bn_mp_div_3.o 3rdparty/libtommath/bn_mp_div_d.o 3rdparty/libtommath/bn_mp_dr_is_modulus.o 3rdparty/libtommath/bn_mp_dr_reduce.o 3rdparty/libtommath/bn_mp_dr_setup.o 3rdparty/libtommath/bn_mp_exch.o 3rdparty/libtommath/bn_mp_export.o 3rdparty/libtommath/bn_mp_expt_d.o 3rdparty/libtommath/bn_mp_expt_d_ex.o 3rdparty/libtommath/bn_mp_exptmod.o 3rdparty/libtommath/bn_mp_exptmod_fast.o 3rdparty/libtommath/bn_mp_exteuclid.o 3rdparty/libtommath/bn_mp_fread.o 3rdparty/libtommath/bn_mp_fwrite.o 3rdparty/libtommath/bn_mp_gcd.o 3rdparty/libtommath/bn_mp_get_int.o 3rdparty/libtommath/bn_mp_get_long.o 3rdparty/libtommath/bn_mp_get_long_long.o 3rdparty/libtommath/bn_mp_grow.o 3rdparty/libtommath/bn_mp_import.o 3rdparty/libtommath/bn_mp_init.o 3rdparty/libtommath/bn_mp_init_copy.o 3rdparty/libtommath/bn_mp_init_multi.o 3rdparty/libtommath/bn_mp_init_set.o 3rdparty/libtommath/bn_mp_init_set_int.o 3rdparty/libtommath/bn_mp_init_size.o 3rdparty/libtommath/bn_mp_invmod.o 3rdparty/libtommath/bn_mp_invmod_slow.o 3rdparty/libtommath/bn_mp_is_square.o 3rdparty/libtommath/bn_mp_jacobi.o 3rdparty/libtommath/bn_mp_karatsuba_mul.o 3rdparty/libtommath/bn_mp_karatsuba_sqr.o 3rdparty/libtommath/bn_mp_lcm.o 3rdparty/libtommath/bn_mp_lshd.o 3rdparty/libtommath/bn_mp_mod.o 3rdparty/libtommath/bn_mp_mod_2d.o 3rdparty/libtommath/bn_mp_mod_d.o 3rdparty/libtommath/bn_mp_montgomery_calc_normalization.o 3rdparty/libtommath/bn_mp_montgomery_reduce.o 3rdparty/libtommath/bn_mp_montgomery_setup.o 3rdparty/libtommath/bn_mp_mul.o 3rdparty/libtommath/bn_mp_mul_2.o 3rdparty/libtommath/bn_mp_mul_2d.o 3rdparty/libtommath/bn_mp_mul_d.o 3rdparty/libtommath/bn_mp_mulmod.o 3rdparty/libtommath/bn_mp_n_root.o 3rdparty/libtommath/bn_mp_n_root_ex.o 3rdparty/libtommath/bn_mp_neg.o 3rdparty/libtommath/bn_mp_or.o 3rdparty/libtommath/bn_mp_prime_fermat.o 3rdparty/libtommath/bn_mp_prime_is_divisible.o 3rdparty/libtommath/bn_mp_prime_is_prime.o 3rdparty/libtommath/bn_mp_prime_miller_rabin.o 3rdparty/libtommath/bn_mp_prime_next_prime.o 3rdparty/libtommath/bn_mp_prime_rabin_miller_trials.o 3rdparty/libtommath/bn_mp_prime_random_ex.o 3rdparty/libtommath/bn_mp_radix_size.o 3rdparty/libtommath/bn_mp_radix_smap.o 3rdparty/libtommath/bn_mp_rand.o 3rdparty/libtommath/bn_mp_read_radix.o 3rdparty/libtommath/bn_mp_read_signed_bin.o 3rdparty/libtommath/bn_mp_read_unsigned_bin.o 3rdparty/libtommath/bn_mp_reduce.o 3rdparty/libtommath/bn_mp_reduce_2k.o 3rdparty/libtommath/bn_mp_reduce_2k_l.o 3rdparty/libtommath/bn_mp_reduce_2k_setup.o 3rdparty/libtommath/bn_mp_reduce_2k_setup_l.o 3rdparty/libtommath/bn_mp_reduce_is_2k.o 3rdparty/libtommath/bn_mp_reduce_is_2k_l.o 3rdparty/libtommath/bn_mp_reduce_setup.o 3rdparty/libtommath/bn_mp_rshd.o 3rdparty/libtommath/bn_mp_set.o 3rdparty/libtommath/bn_mp_set_int.o 3rdparty/libtommath/bn_mp_set_long.o 3rdparty/libtommath/bn_mp_set_long_long.o 3rdparty/libtommath/bn_mp_shrink.o 3rdparty/libtommath/bn_mp_signed_bin_size.o 3rdparty/libtommath/bn_mp_sqr.o 3rdparty/libtommath/bn_mp_sqrmod.o 3rdparty/libtommath/bn_mp_sqrt.o 3rdparty/libtommath/bn_mp_sqrtmod_prime.o 3rdparty/libtommath/bn_mp_sub.o3rdparty/libtommath/bn_mp_sub_d.o 3rdparty/libtommath/bn_mp_submod.o 3rdparty/libtommath/bn_mp_to_signed_bin.o 3rdparty/libtommath/bn_mp_to_signed_bin_n.o 3rdparty/libtommath/bn_mp_to_unsigned_bin.o 3rdparty/libtommath/bn_mp_to_unsigned_bin_n.o 3rdparty/libtommath/bn_mp_toom_mul.o 3rdparty/libtommath/bn_mp_toom_sqr.o 3rdparty/libtommath/bn_mp_toradix.o 3rdparty/libtommath/bn_mp_toradix_n.o 3rdparty/libtommath/bn_mp_unsigned_bin_size.o 3rdparty/libtommath/bn_mp_xor.o 3rdparty/libtommath/bn_mp_zero.o 3rdparty/libtommath/bn_prime_tab.o 3rdparty/libtommath/bn_reverse.o 3rdparty/libtommath/bn_s_mp_add.o 3rdparty/libtommath/bn_s_mp_exptmod.o 3rdparty/libtommath/bn_s_mp_mul_digs.o 3rdparty/libtommath/bn_s_mp_mul_high_digs.o 3rdparty/libtommath/bn_s_mp_sqr.o 3rdparty/libtommath/bn_s_mp_sub.o 3rdparty/libtommath/bncore.o
moar::tomrule=$(AR) $(ARFLAGS) $@ 3rdparty/libtommath/*.o
moar::translate_newline_output=0
moar::uvclean=$(RM) 3rdparty/libuv/libuv.a $(UV_LINUX)
moar::uvlib=3rdparty/libuv/libuv.a
moar::uvobjects=$(UV_LINUX)
moar::uvrule=$(AR) $(ARFLAGS) $@ $(UV_LINUX)
moar::vectorizerspecifier=
moar::version=2019.07.1
moar::versionmajor=2019
moar::versionminor=07
moar::versionpatch=0
perl6::can-language-versions=6.c 6.d 6.d.PREVIEW 6.d.TEST 6.d.TESTDEPR 6.e 6.e.PREVIEW
perl6::codename=
perl6::implementation=Rakudo
perl6::language-revisions=c mods
d   mods    PREVIEW
TEST
TESTDEPR    deprecate   1
e   mods    PREVIEW require 1
require PREVIEW
perl6::language-version=6.d
perl6::libdir=/opt/rakudo-pkg/share
perl6::prefix=/opt/rakudo-pkg
perl6::release-number=
perl6::source-digest=457dd488e7a7edaa3e53fa8af0421d4c92650c9f
perl6::version=2019.07.1
repo::chain=inst#/home/runner/.perl6 inst#/opt/rakudo-pkg/share/perl6/site inst#/opt/rakudo-pkg/share/perl6/vendor inst#/opt/rakudo-pkg/share/perl6/core ap# nqp# perl5#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment