Skip to content

Instantly share code, notes, and snippets.

View alecmce's full-sized avatar

Alec McEachran alecmce

View GitHub Profile
@alecmce
alecmce / errors.txt
Last active June 26, 2016 19:53
Current errors for (broken) haxe3 branch https://github.com/alecmce/dust/tree/haxe3
➜ dust git:(haxe3) ✗ rake test:as3
verify ["as3"] dependency -> 'openfl'
verify ["as3"] dependency -> 'minject'
haxelib run munit test -as3 -browser firefox --no-inline
Massive Unit - Copyright 2013 Massive Interactive. Version 2.0.2
haxe -main TestMain -cp src -cp test -lib munit -lib openfl -lib minject -swf-version 11.4 -swf bin/test/bin/as3_test.swf
/usr/lib/haxe/lib/minject/1,2,2/minject/Injector.hx:49: characters 2-7 : You cannot use @:build inside a macro : make sure that your enum is not used in macro
test/dust/collections/CollectionsConfigTest.hx:13: lines 13-47 : Defined in this class
/usr/lib/haxe/lib/minject/1,2,2/minject/point/MethodInjectionPoint.hx:104: characters 16-35 : minject.Injector has no field getMapping
/usr/lib/haxe/lib/minject/1,2,2/minject/InjectionConfig.hx:50: characters 21-48 : minject.Injector has no field getAncestorMapping
@alecmce
alecmce / Signal.cs
Created June 25, 2013 22:07
An idea for a signal in C#
public class Signal<T>
{
public delegate void SignalDelegate<T>(T data);
event SignalDelegate<T> signal;
List<SignalDelegate<T>> onceDelegates = new List<SignalDelegate<T>>();
public void Bind<T>(SignalDelegate<T> signalDelegate)
{
signal += signalDelegate;
@alecmce
alecmce / RK4 Integrator First Try
Created June 6, 2013 21:01
How I was originally doing https://github.com/alecmce/dust/blob/physics/src/dust/physics/systems/PhysicsSystem.hx. It worked well enough, but had gradual errors that I attributed to deriving A(t+dt) based on B(t) rather than based on B(t+dt).
package dust.altphysics.systems;
import dust.altphysics.data.Physics;
import dust.altphysics.data.Physics;
import dust.systems.System;
import dust.altphysics.data.State;
import dust.altphysics.data.Physics;
import dust.altphysics.data.Derivative;
import dust.collections.api.Collection;
public function permutate(elements:Array, limit:int):Array
{
if (elements.length == 1 && limit > 0)
return [elements[0]];
var permutations:Array = [];
var length:int = elements.length;
var i:int, j:int;
var tmp:Array;
<?xml version="1.0" encoding="utf-8"?>
<project>
<!-- <meta />
Use meta nodes to set metadata for your application. The description is ignored
on most targets, but is useful for packaging like Chrome Apps or Opera Widgets.
For compatibility with Android and webOS, the package name must include at least
@alecmce
alecmce / MacroTest.hx
Created January 6, 2013 23:09
A failed attempt to automatically assign an ID to each type... What am I doing wrong?
package;
import massive.munit.Assert;
import haxe.macro.Expr;
import haxe.macro.Context;
class MacroTest
{
@:macro public function addComponent(component:Dynamic)
{
package;
#if js
import js.JQuery;
#end
class JeashDiv
{
public function new()
{
@alecmce
alecmce / membershipTest.as
Created December 3, 2012 21:13
How do you test for membership in AS3?
// option 1
private static const ABC:Object = {"a":null, "b":null, "c":null}
private function isABC(char:String):Boolean
{
return char in ABC;
}
// option 2
@alecmce
alecmce / DataIODecorator.as
Created November 29, 2012 02:26
My first pass at an IDataOutput/IDataInput mockolate decorator
import flash.utils.ByteArray;
import mockolate.decorations.Decorator;
import mockolate.ingredients.MockingCouverture;
import mockolate.ingredients.Mockolate;
import mockolate.ingredients.answers.ReturnsCallAnswer;
class DataIODecorator extends Decorator
{
private const data:ByteArray = new ByteArray();
@alecmce
alecmce / SignalCommandMapPerModuleProvider.as
Created October 18, 2012 17:18
enables SignalCommandMapExtension to work across modular contexts
package robotlegs.bender.extensions.signalCommandMap
{
import flash.utils.Dictionary;
import org.swiftsuspenders.Injector;
import org.swiftsuspenders.dependencyproviders.DependencyProvider;
import robotlegs.bender.extensions.commandCenter.api.ICommandCenter;
import robotlegs.bender.extensions.signalCommandMap.impl.SignalCommandMap;