Skip to content

Instantly share code, notes, and snippets.

View dpeek's full-sized avatar

David Peek dpeek

View GitHub Profile
@dpeek
dpeek / gist:4704328
Created February 4, 2013 00:14
Macro getter
class Test
{
public static function main()
{
var test = new Test();
trace(test.style);
}
public function new()
{
class Main
{
public static function main()
{
trace(haxe.Json.stringify({a:1,b:2,c:3}, function(k,v){
return k == "" ? v : v + 10;
}));
}
}
@dpeek
dpeek / gist:5753876
Created June 11, 2013 01:19
Patches Neko Makefile and installer to work with Homebrew
From 045276ae065567ca2610ef4976c823c54473fa89 Mon Sep 17 00:00:00 2001
From: David Peek <david.peek@me.com>
Date: Tue, 11 Jun 2013 11:13:18 +1000
Subject: [PATCH] Patch required by homebrew formula - no static, paths
---
Makefile | 7 ++++---
src/tools/install.neko | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
@dpeek
dpeek / gist:5794527
Created June 17, 2013 03:43
Abstract color.
class Test
{
static function main()
{
draw(0xFF);
draw(function(x,y){ return 0xFF0000; });
// draw(function(x,y){ return "foo"; }); // compile error, not color
}
static function draw(color:Color)
@dpeek
dpeek / gist:5810652
Last active December 18, 2015 16:19
class Test
{
public static var instance(default, null):Test = new Test();
public static var lazy(get, null):Test;
static function get_lazy() return lazy == null ? lazy = new Test() : lazy;
static function main()
{
trace(instance);
@dpeek
dpeek / gist:6043433
Created July 20, 2013 01:23
Haxe, Neko and OpenFL on Raspberry Pi
mkdir ~/source
# dependencies
sudo apt-get update
sudo apt-get install libgc-dev bzip2 git-core make gcc g++ gnuplot glade imagemagick libusb-dev python-usb python-lxml python-wxgtk2.8 speech-dispatcher libgnomecanvas2-dev m4 libsdl1.2-dev
# neko
git clone https://github.com/HaxeFoundation/neko.git ~/source/neko
cd ~/source/neko
make
class GameScene extends Scene {
// ...
public override function update() {
// Keep camera.x centered on the player
HXP.camera.x = player.x - HXP.halfWidth + 64;
// Keep camera.y centered on the player,
// unless it would show below the map.
// In that case, keep to the bottom fo the map.
@dpeek
dpeek / VerEx.hx
Last active May 3, 2019 19:38
VerbalExpressions for Haxe
class VerEx
{
public static function main()
{
var test = new VerEx()
.startOfLine()
.then("http")
.maybe("s")
.then("://")
.maybe("www.")
class Main
{
static function main()
{
var context = new MyContext(new View());
}
}
class MyContext extends mmvc.impl.Context
{
@dpeek
dpeek / gist:6666697
Last active December 23, 2015 17:09
Fluent compilation times
class Test
{
static function main()
{
new Test().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a().a()
.a() // 0.460s
.a() // 0.910s
.a() // 1.860s
.a() // 3.630s
.a() // 7.350s