Skip to content

Instantly share code, notes, and snippets.

@mroman42
mroman42 / compilatodo.sh
Last active August 29, 2015 14:01
Compila un programa probando varias optimizaciones
#!/bin/bash
CFLAGS="-flto -fopenmp -fwhole-program -Wall -Wl,--no-as-needed"
CXXFLAGS="$CFLAGS -std=c++0x"
LDFLAGS="-lm -lrt"
OPTS="-O0 -O1 -O2 -O3 -Os"
for code in *.cc;
do
for opt in $OPTS;
@mroman42
mroman42 / daxpy.cc
Created June 4, 2014 11:30
DAXPY para práctica de AC.
#include <algorithm>
#include <chrono>
#include <iostream>
#include <iterator>
#include <random>
#include <sstream>
#include <vector>
int main(int argc, char *argv[])
@mroman42
mroman42 / testsMC
Last active August 29, 2015 14:15
Respuestas a los tests de modelos de computación
# Test 1
1. F
2. F
3. F
4. V
5. F
6. F
7. F
8. V
9. F
@mroman42
mroman42 / multtable.hs
Last active August 29, 2015 14:16
Computes the multiplication table of a group
-- Computes the multiplication table of a group
-- Using the Knuth-Bendix algorithm
-- Uses HaskellForMath, which can be installed:
-- cabal install HaskellForMath
import Math.Algebra.Group.StringRewriting
-- Computes the multiplication table, given the group generators
-- and the set of relations as strings, as in this example:
-- multtable "tw" [("www",""),("tt",""),("tw","wwt")]
@mroman42
mroman42 / distributions.hs
Created December 24, 2016 18:22
Distribuciones discretas con mónadas
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-
En este archivo vamos a usar mónadas para definir distribuciones
discretas de probabilidad y aplicar operaciones algebraicas sobre ellas.
-}
import Control.Monad.State
-- Generación aleatoria
-- Para generar números pseudoaleatorios usaremos LCGs. La idea es tener
@mroman42
mroman42 / UGRApp.md
Last active September 8, 2017 13:52 — forked from agarciamontoro/UGRApp.md
UGRApp: propuestas de mejora y solicitud de información

UGRApp: propuestas de mejora y solicitud de información

Introducción

La Universidad de Granada (UGR) lleva unos meses publicitando su nueva aplicación oficial: la UGRApp. Esta aplicación permite el acceso a la Tarjeta Universitaria Inteligente (TUI) en su versión digital, consulta de las calificaciones, el listado de asignaturas, los horarios de clases, el menú de los comedores universitarios, el catálogo de la biblioteca, realizar trámites administrativos... en definitiva, pretende funcionar como intermediaria entre el alumnado y la Universidad.

Tras los primeros anuncios de la aplicación por parte de la UGR, un grupo de miembros de la comunidad universitaria granadina decidió analizar la aplicación para verificar que era segura. En este primer análisis se detectaron varios problemas. Tras debatir los pasos a seguir para frenar los peligros que esta aplicación crea, y después de estar en contacto con D. José Ángel Ibáñez Zapata ---Director de Comunicación de la UGR---, que se ofreció como intermediar

@mroman42
mroman42 / partialevaluations.agda
Last active March 18, 2019 14:25
Fritz-Perrone's Partial Evaluations in Agda (--type-in-type, I know, sorry, just being lazy, I think it is really easy to avoid if one wants to)
{-# OPTIONS --type-in-type #-}
-- The definitions here are taken from: 'Monads, partial evaluations,
-- and rewriting' by Tobias Fritz and Paolo Perrone.
-- https://arxiv.org/pdf/1810.06037.pdf
-- Auxiliary definitions.
infix 4 _≡_
@mroman42
mroman42 / Skew.hs
Created February 9, 2022 09:04
Monoidal coherence, the unsafe way.
-- | Coherence for Monoidal categories
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE GADTs #-}
{-# OPTIONS --without-K --type-in-type #-}
module UnbiasedCategory where
open import Agda.Builtin.Equality
module TypedLists where
data TypedList (index : Set) (type : index -> index -> Set) : index -> index -> Set where
empty : {a : index} -> TypedList index type a a
fby : {a b c : index} -> type a b -> TypedList index type b c -> TypedList index type a c