Skip to content

Instantly share code, notes, and snippets.

@raiph

raiph/.md Secret

Last active January 21, 2020 18:45
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/46c1ba60d491ddd0a84341b628cb31f6 to your computer and use it in GitHub Desktop.
Save raiph/46c1ba60d491ddd0a84341b628cb31f6 to your computer and use it in GitHub Desktop.
rebless per SO and display of verbose config with local rakudo star 2019.03.1

This code:

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

running on my laptop displays this:

MyInt $x = 42
distro::auth=http://www.linuxmint.com/
distro::desc=2020-01-21T18:25:13.971556Z
distro::is-win=False
distro::name=linuxmint
distro::path-sep=:
distro::release=18.2
distro::signature=
distro::version=18.2.Sonya
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=#31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018
kernel::signature=
kernel::version=4.15.0.29.generic
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=/home/footoo/rakudo/install/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 && $(MAKE) clean
moar::cmplib=3rdparty/cmp/libcmp.a
moar::cmpobjects=3rdparty/cmp/cmp.o
moar::cmprule=$(AR) $(ARFLAGS) $@ 3rdparty/cmp/*.o
moar::config=--optimize --prefix=/home/footoo/rakudo/install --make-install
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_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,"//home/footoo/rakudo/install/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,"//home/footoo/rakudo/install/lib"
moar::ldshared=-shared -fPIC
moar::ldsys=-l%s
moar::ldusr=-l%s
moar::lib=lib%s.a
moar::libdir=/home/footoo/rakudo/install/lib
moar::lincludes=
moar::mainflags=-DMVM_SHARED
moar::mainlibs=-L. -lmoar
moar::make=make
moar::mastdir=/home/footoo/rakudo/install/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::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=3.16.0
moar::perl=/usr/bin/perl
moar::pkgconfig=/usr/bin/pkg-config
moar::pkgconfig_works=1
moar::platform=$(PLATFORM_POSIX)
moar::prefix=/home/footoo/rakudo/install
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.o 3rdparty/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.o 3rdparty/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.03
moar::versionmajor=2019
moar::versionminor=03
moar::versionpatch=0
perl6::build-date=2019-12-31T14:46:43Z
perl6::can-language-versions=6.c 6.d 6.d.PREVIEW
perl6::codename=
perl6::implementation=Rakudo Star
perl6::language-version=6.d
perl6::libdir=/home/footoo/rakudo/install/share
perl6::prefix=/home/footoo/rakudo/install
perl6::release-number=
perl6::source-digest=4bafd4b8d33292410680930d4ee25d40eb9e5068
perl6::version=2019.03.1
repo::chain=inst#/home/footoo/.perl6 inst#/home/footoo/rakudo/install/share/perl6/site inst#/home/footoo/rakudo/install/share/perl6/vendor inst#/home/footoo/rakudo/install/share/perl6 ap# nqp# perl5#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment