Edit: This list is now maintained in the rust-anthology repo.
This file contains hidden or 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
use std::marker::PhantomData; | |
use std::cell::Cell; | |
pub struct Game<'g> { | |
// Putting the lifetime 'g into a PhantomData<Cell<&'g ()>> instead of a | |
// PhantomData<&'g ()> makes 'g invariant instead of covariant. | |
// I don't know if that's necessary here, but better be safe than sorry. | |
// See https://doc.rust-lang.org/nomicon/subtyping.html for more info. | |
phantom: PhantomData<Cell<&'g ()>>, | |
} |
This file contains hidden or 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
#![feature(optin_builtin_traits)] | |
mod userspace { | |
use unit::Unit; | |
use session::{Ai, DataTrait, Session}; | |
#[derive(Debug)] | |
struct MyAi<'a> { | |
units: Vec<&'a mut Unit> | |
} |
This file contains hidden or 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
#![feature(optin_builtin_traits)] | |
mod userspace { | |
use unit::Unit; | |
use session::{Ai, DataTrait, Session}; | |
#[derive(Debug)] | |
struct MyAi(); | |
#[derive(Debug)] |
This file contains hidden or 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
{-# OPTIONS -Wall -Werror #-} | |
{-# LANGUAGE DeriveFunctor #-} | |
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
{-# LANGUAGE TemplateHaskell #-} | |
import Control.Applicative ((<|>)) | |
import Control.Monad (void) | |
import Test.QuickCheck | |
import Text.Show.Functions () |
This file contains hidden or 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
# Update to 4.9 kernel do not delete the old kernel as it will be your failsafe if something happens to this one | |
# Install KabyLake graphics patches | |
cd /tmp; | |
wget https://01.org/sites/default/files/downloads/intelr-graphics-linux/kbldmcver101.tar.bz2; | |
tar xjvf kbldmcver101.tar.bz2; cd kbl_dmc_ver1_01/; sudo ./install.sh | |
cd /tmp; | |
wget https://01.org/sites/default/files/downloads/intelr-graphics-linux/kblgucver914.tar.gz; | |
tar xvzf kblgucver914.tar.gz; cd firmware/kbl/guc/kbl_guc_ver/; sudo ./install.sh |
This file contains hidden or 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
Interpreting Free Monads of Functor Sums | |
======================================== | |
This text deals with a way to compose certain kinds of monads, thereby mixing | |
their capabilities. It is a literate Haskell file, so let's begin with a | |
bunch of noise. | |
> {-# LANGUAGE MultiParamTypeClasses #-} | |
> {-# LANGUAGE FlexibleInstances #-} | |
> {-# LANGUAGE FlexibleContexts #-} |
This file contains hidden or 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
// Free monad based thread simulation and FRP constructs written in JavaScript | |
// First, we need some way to express lazy values and actions. | |
// We can use zero-argument functions for this purpose: call the function and | |
// you get the value. We also need to compose lazy values/actions. For that | |
// we have bindLazy function. Lazy values are not expected to be pure | |
// in this program: evaluating a lazy value/action at different times can produce | |
// a different value. |
This file contains hidden or 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
Хм... Сложно согласиться с | |
> в Haskell монады -- это способ записать _императивный_ код в полностью декларативном языке. | |
Наверное если смотреть технически - то это верное высказывание. | |
Но оно скрывает суть. Скрывает смысл "пользы от монад". | |
Насколько я помню... | |
Монады - они и в Африке монады. В независимости от того какой язык - чисто декларативный/функциональный или нет. |
This file contains hidden or 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
lazy val scalaJson = ProjectRef(uri("git://github.com/mdedetrich/scala-json-ast.git#c5ee84"), "scalaJsonASTJVM") | |
lazy val root = (project in file(".")). | |
dependsOn(scalaJson). | |
settings(inThisBuild(List( | |
organization := "com.example", | |
scalaVersion := "2.11.8" | |
)), | |
name := "sourceDeps" | |
) |