Skip to content

Instantly share code, notes, and snippets.

View Xliff's full-sized avatar
🏠
Working from home

Xliff Xliff

🏠
Working from home
View GitHub Profile
@Xliff
Xliff / MacrosAndReuse.md
Created July 9, 2024 21:34
Reusable Code as Macros in Raku

I'm trying to write a generic macro that can produce code like the following:

method setAppName ($name) {
  $appName = $name;
  self.Applications::Bizzell::Inventory::Roles::DB::Threshold::setAppName(
    $name
  );
}
method appName { $appName }
@Xliff
Xliff / FunWithGrammars.md
Created July 7, 2024 14:04
Fun (and problems) with grammars

Where I have trouble with parsing an SQL create statement:

https://tio.run/##nVZbT9swFH7vrzhCSE6BlsCmbUAbVKDbqpXCSniYGGpDa4pF4oTEQauA385OfGlc1sK2KIpv37l/tpPQNPzw/BxNYTW7C/cqlUkaRFGQwtldeJjSQNAzgZ@IcgEPFYA0Dyn4J6dyAEAO@@2W3yZA/NZBF9vVhgiuQsqDiHrNBhujHBNTD4hDpABAYxSHecS9dTNOUoYGp7VbOvXM3KxPqgSUylqciKyYfKrgR8S3lINSVaxof3aZbC4AtCbCYwE8D0OixvBoFoJcxAPGR6kMTnl3adTLMJV2rdmKpSGmCfVMIIV1b23eL0zARNxoyZ/j9UWrtSyhI5NGB6NU054M2TzzgowLW@qCRHTM8ojAI5DsJk6F7AnGpwQuCVNRlfEUbhtRk5@G0ekZB9RoH0jOMzbhdEz2y6TdBynZJ6MbbObxJWSMdBEsokT7b2VVR6ETaWIfEqiv7ctWKcHRvMQ1o@FY1t8UIwvzNFFkQCMzYEmUBcAZSs7BA9qxZy0aGs9O@53jVv8HsvtbG7@YqzH9peMlG@RlccyiXVRrB1Tnq2HZ0dpLgtmGjCUVp0XMGo/nQn1JUJMdNFnJgims9FF2t4i7MP0ENez@ucvrSZBm1KnfB2FON5S9pidlqvUJywQ8rRRlvY5TVd1ZOdWDWDIMrvKMpgM2HpINCZLUK58CpLhbkPRtCMy4uBQ7o91SBHK3IK6z7bpVjbLOD4PqnfjQO@92lyNeHBxzOFOSF1mARZHo3aFPGVicP1iag3@WAxMatM79k0Gnh2f3cbvnk72K3qr4LiVEcT0oAtSRTHhRdHodX14a0IS7XRFvnn3vbqIGdSOAvA9Ae5QNwZFG/s9DFfAwf0NKw1hS4GSp321XS51H7c@t864PRCdwmOVXHDnzd@AkmMhbbQglj17DC4zZcHIBbGvno1tzt/AF192Vr5HE9G
@Xliff
Xliff / RakuBlender.md
Created July 4, 2024 22:48
Blender and Raku via Python

Would it be possible to access blender using Raku by having Raku emit python?

I'm thinking yes.

That way this:

view_layer = bpy.context.view_layer

# Create new light datablock.
@Xliff
Xliff / IWonder.md
Last active June 29, 2024 16:24
Running index of Rakudo .moarvm files...

Hmmm...

find install -name \*.moarvm -ls | raku -e 'my (@sizes, @file); for  $*IN.lines.map( *.words ) { @sizes.push: .words[6]; @file.push: .words.tail; }; my @running-sum = (^@sizes.elems).map({ [+] @sizes[0..$_] } ); for @running-sum.keys { say "{ .fmt("%02d") }: { @running-sum[$_].fmt("%8d") }, { @sizes[$_].fmt("%8d") } = { @file[$_] }" }'
00:   405480,   405480 = install/share/perl6/lib/Raku/Actions.moarvm
01:  4861288,  4455808 = install/share/perl6/lib/Raku/Grammar.moarvm
02:  4899608,    38320 = install/share/perl6/lib/Perl6/Ops.moarvm
03:  4907704,     8096 = install/share/perl6/lib/Perl6/SysConfig.moarvm
04:  5489264,   581560 = install/share/perl6/lib/Perl6/Metamodel.moarvm
05:  6415248,   925984 = install/share/perl6/lib/Perl6/Actions.moarvm
@Xliff
Xliff / moar-blead-errors.md
Created March 24, 2024 10:09
More Bleeding...
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating  gen/moar/stage1/nqpmo.nqp
+++ Compiling   gen/moar/stage1/ModuleLoader.moarvm
+++ Generating  gen/moar/stage1/NQPCORE.setting
+++ Generating  gen/moar/stage1/QASTNode.nqp
+++ Generating  gen/moar/stage1/QRegex.nqp
+++ Generating  stage 1 nqp-config.nqp
+++ Generating  gen/moar/stage1/MASTNodes.nqp
@Xliff
Xliff / multisort.md
Created March 3, 2024 03:13
Easy Multisort
  my @h = ( 
    { 
      name => "albert", 
      age => 40, 
      size => 2 
    }, 
    { 
      name => "andy", 
 age => 22, 
@Xliff
Xliff / RakuSegfaultFeb2024.md
Created February 27, 2024 16:31
Raku Segfault Bug Report - Feb 27, 2024

I have the following C code:

#include <glibtop.h>
#include <glibtop/procwd.h>
#include <glibtop/proclist.h>

#include <stdio.h>

#include <unistd.h>
@Xliff
Xliff / subs-by-infocant.md
Last active December 23, 2023 06:23
Raylib Bindings Sorted By Invocant.

Check out this little gem!

use Raylib::Bindings;

for MY.WHO
      .pairs
      .grep( *.key.starts-with("\&") )
      .values
 .categorize(
@Xliff
Xliff / Promisify.md
Created September 8, 2023 22:29
Running an asyncronous piece of code at a later date

I have a piece of asyncronous code I would like to run at a later date. I figured a Promise would suit this purpose fine.

So far this is what I have:

sub makePromise ( $o, $m, :$in = 0, :$args = @() ) {
  my $p = Promise.new;

 for $args {
@Xliff
Xliff / IMPL-CURRIED.md
Last active August 27, 2023 10:28
Where is the RakuAST Error, Here?
RakuAST::StatementList.new(
  RakuAST::Statement::Use.new(
    module-name => RakuAST::Name.from-identifier("Cro::HTTP::Router")
  ),
  RakuAST::Call::Name.new(
    name => RakuAST::Name.from-identifier("route"),
    args => RakuAST::ArgList.new(
      RakuAST::Block.new(
        body => RakuAST::Blockoid.new(