- YALE (1998): Paper / Impl
- Type: Text
- Language: ??
- Description:
- AMINE / MPINE (2000) Paper / Impl
- Type: Text
- Language: ??
- Description: "In this evaluator, each variable in the calculus is represented as a node that has the same name as the variable, and the substitution operation for a variable requires a search to find the node which corresponds to the variables. To prevent searching those nodes deeply, annotated terms, that have name lists of terms as annotations, are introduced; however, processing these annotations consume a considerable amount of time during execution. MPINE was also proposed as a concurrent." (Design and implementation of a low-level language for interaction nets - Shinya Sato) computation version of AMINE.
- in² (2002): Paper / Impl
This file contains 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
// An address is just a pointer to some agent inside the interaction net. | |
#[derive(Clone, Copy, PartialEq, Eq)] | |
pub struct Address(usize); | |
/// A slot is part of an agent that can connect to other ports. | |
#[derive(Clone, Copy, PartialEq, Eq)] | |
pub struct Slot(usize); | |
impl Slot { | |
/// The main port is always zero |
This file contains 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::{collections::HashSet, fmt::Display, rc::Rc}; | |
/// The AST. This thing describes | |
/// the syntatic tree of the program. | |
#[derive(Debug)] | |
pub enum Syntax { | |
Lambda { | |
param: String, | |
body: Rc<Syntax>, | |
}, |
Algumas mudanças bem importantes na linguagem vão ocorrer pelos próximos dias e que vão influenciar bastante o modo que programamos Kind2. Primeiro eu gostaria de introduzir as ideias que a linguagem tenta usar e, após isso, os problemas que pensei que não vão deixar a linguagem ir tanto para frente quanto eu queria.
A unidade de modularização da linguagem seriam as funções já que tudo em Kind é primordialmente uma função ou um construtor (você pode considerar os 2 a mesma coisa já que um construtor é uma função que não reduz) e isso molda varios aspectos da linguagem como:
This file contains 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
module Pipes | |
import Control.Monad.Trans | |
import Data.IORef | |
-- It's just https://github.com/QuentinDuval/IdrisPipes with one small change. | |
||| PipeT is a composable data type to describe streams of data that | |
||| can be generated and can flow upstream and downstream just like | |
||| javascript generators |
This file contains 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
open Unix; | |
let start = baud => | |
try({ | |
let fd = openfile("/dev/ttyUSB0", [O_RDWR], 0o640); | |
let tty = { | |
...tcgetattr(fd), | |
c_parenb: false, | |
c_cstopb: 1, | |
c_csize: 8, | |
c_icanon: false, |
This file contains 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
module Main where | |
data Cuit | |
= Cuit :+: Cuit | |
| Cuit :*: Cuit | |
| Neg Cuit | |
| Var String | |
(-|) = Neg |
This file contains 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
// Nosomy's SEQQBE Algorithm implemented in rust by Chiyoku | |
use std::env; | |
use std::io::{self, Write}; | |
use std::io::BufWriter; | |
fn out_vector(vector: &mut Vec<u8>,size: usize,stream: &mut std::io::BufWriter<std::io::StdoutLock>) -> u8{ | |
let mut counter: u8 = 0xFF; | |
for pos in 0..size{ | |
let y = unsafe { vector.get_unchecked_mut(pos) }; |
This file contains 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
module LexerTest | |
import Text.Lexer | |
import Data.List | |
data TokenKind =Sharp | |
Show TokenKind where | |
show Sharp = "#" |
NewerOlder