- Want to code a thing
- Choose a runtime
- Choose a language
- Choose some libraries
- Start coding
- Library doesn't meet your requirements
- Start writing your own library
- Language gets in way of perfect library
- Start writing your own language
- Runtime is holding back language
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# install dgraph | |
sudo apt-get update -y | |
sudo apt-get install -y gcc | |
curl https://get.dgraph.io -sSf | bash | |
# create dgraph.service | |
sudo bash -c 'cat << EOF > /etc/systemd/system/dgraph.service | |
[Unit] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* @flow */ | |
type ErrorResponse = { | |
code: 'Error', | |
message: string | |
} | |
type ResultResponse = {} | |
function test (): Promise<ResultResponse | ErrorResponse> { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package haxe; | |
typedef Error = | |
#if !native_error | |
String; | |
#elseif js | |
js.Error; | |
#elseif flash | |
flash.errors.Error; | |
#elseif java |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import haxe.macro.Type; | |
using haxe.macro.Tools; | |
using Lambda; | |
class Test | |
{ | |
static function main() new Test(); | |
function new() | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Test | |
{ | |
static function main() | |
{ | |
try nativeException() catch (e:Dynamic) trace(haxe.CallStack.exceptionStack()); | |
try haxeException() catch (e:Dynamic) trace(haxe.CallStack.exceptionStack()); | |
} | |
static function haxeException() throw 'error'; | |
static function nativeException() sys.io.File.getContent('file-that-does-not-exist.txt'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// compile with: | |
// haxe -main Test -swf test.swf -lib hscript | |
class Test extends flash.display.Sprite | |
{ | |
static function main() flash.Lib.current.addChild(new Test()); | |
function new() | |
{ | |
super(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ mkdir haxe-droid && cd haxe-droid | |
$ git clone https://github.com/vouillon/ocaml-android.git | |
$ git clone https://github.com/HaxeFoundation/haxe.git | |
$ http://dl.google.com/android/ndk/android-ndk-r9b-darwin-x86.tar.bz2 | |
$ tar -vjxf android-ndk-r9b-darwin-x86.tar.bz2 && rm android-ndk-r9b-darwin-x86.tar.bz2 && mv android-ndk-r9b android-ndk | |
$ wget http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01.0.tar.gz | |
$ tar -xzf ocaml-4.01.0.tar.gz && rm ocaml-4.01.0.tar.gz && mv ocaml-4.01.0 ocaml-src |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import haxe.macro.Expr; | |
class FTW | |
{ | |
public static function build() | |
{ | |
return haxe.macro.Context.getBuildFields().map(transformField); | |
} | |
static function transformField(field:Field) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import haxe.macro.Expr; | |
class Func | |
{ | |
public static function each<T>(it:Iterable<T>, cb:T -> Void) | |
{ | |
for (i in it) cb(i); | |
} | |
public static function every<T>(it:Iterable<T>, cb:T -> Bool):Bool |