confefe, pronounced con-feef, is a simple configuration language
confefe supports 8 different data types, plus comments:
- nil/null
- bool
- int
- decimal
- string
interface Enumerable T for E { | |
fn each(E, T -> Unit) -> Unit | |
} | |
impl Enumerable T for Array T { | |
fn each(array: Array T, f: T -> Unit) -> Unit { ... } | |
} | |
impl Enumerable T for I : Iterator T { | |
fn each(it: I, visit: T -> Unit) = ... | |
} | |
impl Enumerable T for Iterator T { |
interface Enumerable T for E { | |
fn each(E, T -> Unit) -> Unit | |
} | |
impl Enumerable T for Array T { | |
fn each(array: Array T, f: T -> Unit) -> Unit { ... } | |
} | |
impl Enumerable T for I : Iterator T { | |
fn each(it: I, visit: T -> Unit) = ... | |
} | |
impl Enumerable T for Iterator T { |
fn slowAdd(x: Int, y: Int) -> Int { | |
sleep(2.seconds) | |
x + y | |
} | |
// main1 takes 4 seconds to run | |
fn main1() { | |
a = slowAdd(1, 2) | |
b = slowAdd(10, 20) | |
puts(a + b) |
package truthy | |
interface Truthy for T { | |
fn truthy?(T) -> Boolean | |
} | |
def ||[A: Truthy, B: Truthy](a: A, b: B): A | B => truthy?(a) ? a : b | |
def &&[A: Truthy, B: Truthy](a: A, b: B): A | B => truthy?(a) ? a : b | |
def !(a: Truthy): Boolean => !a.truthy? |
0 * 0 = 0 5 * 0 = 0 | |
0 * 1 = 0 5 * 1 = 5 | |
0 * 2 = 0 5 * 2 = 10 | |
0 * 3 = 0 5 * 3 = 15 | |
0 * 4 = 0 5 * 4 = 20 | |
0 * 5 = 0 5 * 5 = 25 | |
0 * 6 = 0 5 * 6 = 30 | |
0 * 7 = 0 5 * 7 = 35 | |
0 * 8 = 0 5 * 8 = 40 | |
0 * 9 = 0 5 * 9 = 45 |
C# program: | |
using System; | |
using System.Threading.Tasks; | |
namespace Scratch | |
{ | |
class Program | |
{ | |
static void Main() |
davidellis@davidellis:~/Dropbox/projects/benchmarks (master) $ ./run.rb | |
Running base64 benchmark suite | |
base64/crystal0.25.0 | |
base64/ruby2.5.1 | |
Running helloworld benchmark suite | |
helloworld/crystal0.25.0 | |
helloworld/ruby2.5.1 | |
Running json benchmark suite |
name: "confefe" | |
version: "1.2.0" | |
tags: | |
- "foo" | |
- "bar" | |
- "baz" | |
authors: ["Bill", "Bob"] | |
dependencies: [ # dependencies captured in a nested array | |
["stdlib", "~> 1.2"], |
server: | |
address: "localhost:6667" | |
channel: "#hello" | |
greetings: | |
- passthru: true | |
filter: "boss" | |
message: "Hi, boss!" | |
- passthru: false | |
filter: ".*" |