Skip to content

Instantly share code, notes, and snippets.

Martin Wernstål m4rw3r

Block or report user

Report or block m4rw3r

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@m4rw3r
m4rw3r / battlestation.md
Last active Sep 22, 2019
Gaming desktop hardware
View battlestation.md

My hardware if anyone is interested:

Computer

  • CPU: AMD Ryzen 7 1800X 4.0 GHz 20MB
  • CPU cooler: Corsair Hydro H150i PRO RGB 360mm
  • GPU: MSI GeForce GTX 1080 Ti 11GB Gaming X
  • Motherboard: ASUS PRIME X370-PRO
  • PSU: Corsair RM850x 850W 80+ Gold Modular
  • RAM: Corsair 32GB (2x16GB) DDR4 2400MHz CL16
@m4rw3r
m4rw3r / playground.rs
Last active Feb 11, 2017 — forked from anonymous/playground.rs
Shared via Rust Playground
View playground.rs
#[macro_use]
extern crate chomp;
use std::rc::Rc;
use chomp::prelude::{token, SimpleResult, parse_only};
use chomp::ascii::{is_alphanumeric, is_whitespace};
use chomp::types::{Buffer, U8Input};
use chomp::parsers::{take_while1, skip_while};
use chomp::combinators::many;
@m4rw3r
m4rw3r / functions.php
Created Nov 18, 2013
Attempting to implement something akin to Haskell's typeclasses
View functions.php
<?php
namespace m4rw3r;
use ReflectionMethod;
use ReflectionFunction;
function compose($f, $g)
{
switch(callableReflection($g)->getNumberOfParameters()) {
@m4rw3r
m4rw3r / chomp_impl_trait_performance_results.md
Last active Aug 23, 2016
Benchmarks comparing `feature/input_trait` with `experiment/impl_trait`
View chomp_impl_trait_performance_results.md

experiment/impl_trait is essentially a reimplementation of all the parsers and combinators using the same baseline code as feature/input_trait. The feature/input_trait is intended to be chomp 0.3, and experiment/impl_trait either 1.0 or maybe a new crate chomp2 (useful since feature/input_trait still works on stable while experiment/impl_trait requires the latest nightly version of rustc).

Both share the same reposiotory and dependencies, just two different branches. Same code is used for both tests, with slight adjustment for how parsers are structured.

rustc --version
rustc 1.13.0-nightly (1576de0ce 2016-08-21)

experiment/impl_trait

@m4rw3r
m4rw3r / http_parser.rs
Created Aug 19, 2016
impl Trait with Input trait version of the chomp example HTTP-parser
View http_parser.rs
#![feature(conservative_impl_trait)]
#[macro_use]
extern crate chomp;
extern crate memmap;
use std::fs::File;
use std::env;
use chomp::types::{Input, Parser};
@m4rw3r
m4rw3r / chomp_numbering_wrapper.rs
Created Feb 10, 2016
Just a quick implementation of line-numbering where a parser is wrapped to keep track of the number of lines it has parsed so far
View chomp_numbering_wrapper.rs
use std::marker::PhantomData;
pub trait NumberingType {
type Token;
type Position;
fn update(&mut self, &[Self::Token]);
fn position(&self) -> Self::Position;
}
@m4rw3r
m4rw3r / 0000-saturating-and-checking-integer-wrapper-types.md
Last active Mar 7, 2016
WIP of pre-RFC for saturating and wrapping integer wrapper types
View 0000-saturating-and-checking-integer-wrapper-types.md
  • Feature Name: saturating-and-checking-integer-wrapper-types
  • Start Date: (fill me in with today's date, YYYY-MM-DD)
  • RFC PR: (leave this empty)
  • Rust Issue: (leave this empty)

Summary

Implement two wrapper-types in std::num which provide two different types of behavior on overflow: saturating arithmetic and always checked arithmetic with the latter signalling a thread panic on

View using_rsz.rs
extern crate rsz;
use rsz::{FunctorMut, HKT, MonadMut, Unit};
// Let's say that this type requires to run the closure multiple times,
// so we can only implement the mutable monads.
pub struct Foo<T> {
inner: T,
}
@m4rw3r
m4rw3r / header.rs
Last active Jan 13, 2016
http.rs: Simple HTTP-library for Rust
View header.rs
use std::fmt;
use std::ascii::StrAsciiExt;
#[deriving(Clone,Eq)]
pub enum HeaderName {
Accept,
AcceptCharset,
AcceptEncoding,
AcceptLanguage,
Age,
View gist:7504106
<?php
class F
{
protected $f;
protected $params = array();
public function __construct(callable $c, array $params = null)
{
$this->f = $c;
You can’t perform that action at this time.