Skip to content

Instantly share code, notes, and snippets.

View ggb's full-sized avatar

Gregor ggb

  • Kiel
View GitHub Profile
@ggb
ggb / Types.elm
Last active October 5, 2016 10:00
import Html exposing (text)
type alias T = {name: String}
type alias R b = {b | name: String, age: Float}
type alias S a = {a | name: String}
type alias Q = {age: Float}
@ggb
ggb / sw_query.rkt
Created October 9, 2016 21:03
How to query the SWAPI (Star Wars API) with racket
#lang racket
(require json)
(require net/url)
(define (get url)
(call/input-url (string->url url)
(curry get-pure-port #:redirections 4)
port->string))
@ggb
ggb / RegisterMachine.elm
Last active February 4, 2017 22:09
A Universal Register Machine implemented in Elm and inspired by http://www.thattommyhall.com/clojured/ Copy the following code to http://www.elm-lang.org/try and hit the compile-button.
module RegisterMachine exposing (..)
import Html
import Time exposing (Time, second)
import Array exposing (Array)
import Html exposing (..)
import Html.Attributes exposing (style)
type Msg
@ggb
ggb / Table.html
Last active February 5, 2017 13:01
Endless scrolling table...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>lazy table</title>
<link rel="stylesheet" href="style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
</head>
<body>
<table id="lazyTable"></table>
@ggb
ggb / assignment1.erl
Created February 27, 2017 13:21
Functional Programming in Erlang - First Assignment
-module(assignment1).
-export([bits/1, area/1, perimeter/1, enclose/1, bits_rec/1]).
% Shapes
% How the shapes are defined:
% circle: {circle, {x, y}, r}
% rectangle: {rectangle, {x1, y1},{x2, y2}}
% triangle: {triangle, {x1, y1}, A, B, C}
area({circle, {_X, _Y}, R}) ->
@ggb
ggb / assignment2.erl
Created March 1, 2017 20:28
Functional Programming in Erlang - Second Assignment
-module(assignment2).
-export([index/1]).
% test the code by calling
% assignment2:index("gettysburg-address.txt").
% assignment2:index("dickens-christmas.txt").
clean_line([], C) ->
lists:reverse(C);
@ggb
ggb / sicp44.dl
Created March 21, 2017 21:00
Database and solutions from "Structure and Interpretation of Computer Programs", Chapter 4.4
#lang datalog
town(ben, slumerville).
street(ben, ridge_road).
str_number(ben, 10).
department(ben, computer).
position(ben, guru).
salary(ben, 60000).
town(alyssa, cambridge).
@ggb
ggb / DecodeUnionType.elm
Created March 29, 2017 12:04
How to decode union types in Elm
import Html exposing (text)
import Json.Decode exposing (..)
type Status
= Done
| Open
| Failed
%% Based on code from
%% Erlang Programming
%% Francecso Cesarini and Simon Thompson
%% O'Reilly, 2008
%% http://oreilly.com/catalog/9780596518189/
%% http://www.erlangprogramming.org/
%% (c) Francesco Cesarini and Simon Thompson
-module(frequency).
-export([start/0,allocate/0,deallocate/1,stop/0,clear/0]).
:- use_module(library(semweb/rdf_db)).
:- use_module(library(semweb/rdf_http_plugin)).
load_band(A, S) :-
rdf_load(A, [format(xml)]),
findall(B, (rdf(A,'http://dbpedia.org/ontology/associatedBand',B)), L1),
findall(C, (rdf(C,'http://dbpedia.org/ontology/associatedBand',A)), L2),
append(L1, L2, S).
load_bands(_, _, _, 500) :-