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
// Place your key bindings in this file to override the defaults | |
[ | |
{ | |
"key": "shift+k", | |
"command": "editor.action.showDefinitionPreviewHover", | |
"when": "editorTextFocus && vim.mode == 'Normal'" | |
}, | |
{ | |
"key": "ctrl+right", | |
"win": "ctrl+right", |
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
/// Accessor expression, is an expression that is an accessor to a field in a struct, it can be | |
/// represented by [GlobalId], since it can hold `.` too. | |
/// | |
/// # Examples | |
/// | |
/// The syntax is like: | |
/// ```haskell | |
/// person.data | |
/// ``` | |
#[derive(Default, Node, Clone)] |
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::{cell::RefCell, collections::HashMap, fmt::Display, rc::Rc}; | |
// The `Expr` type is a type that represents a lisp S-expression. | |
// It can be either a `Nil` value, a `Cons` cell, a `Number, or an `Atom`. | |
#[derive(Clone)] | |
pub enum Expr { | |
Nil, | |
Cons(Rc<Expr>, Rc<Expr>), | |
Num(u64), | |
Str(String), |
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
package ekko.typing | |
import ekko.tree.Alt | |
import ekko.tree.EAbs | |
import ekko.tree.EApp | |
import ekko.tree.EGroup | |
import ekko.tree.ELet | |
import ekko.tree.ELit | |
import ekko.tree.EVar | |
import ekko.tree.Exp |
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
package ekko.tree | |
/** | |
* Types can be quantified by adding a list of predicates [predicates], to restrict | |
* the ways in which type variables is instantiated. | |
* | |
* Example of `Num a => a`(in haskell): | |
* ```kt | |
* val predicates = listOf(IsIn(TVar(Ident("a", KStar), Ident("Num")))) | |
* |
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
package ekko.tree | |
/** | |
* Type schemes are used to describe qualified types. | |
* Each TGen that appears in [qual] represents a generic that the kind is given | |
* by `[kinds] !! n`. | |
*/ | |
data class Scheme(val kinds: List<Kind>, val qual: Qual<Typ>) { | |
companion object { | |
fun forall(vararg args: Kind) = fun(qual: Qual<Typ>): Scheme { |
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
import andesite.protocol.ProtocolPacket | |
import andesite.protocol.extractPacketId | |
import andesite.protocol.java.JavaPacket | |
import andesite.protocol.readVarInt | |
import andesite.protocol.serialization.MinecraftCodec | |
import andesite.protocol.writeVarInt | |
import io.ktor.network.sockets.Socket | |
import io.ktor.network.sockets.openReadChannel | |
import io.ktor.network.sockets.openWriteChannel | |
import io.ktor.utils.io.core.buildPacket |
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
/* | |
* The contents of this file is free and unencumbered software released into the | |
* public domain. For more information, please refer to <http://unlicense.org/> | |
*/ | |
@file:OptIn(KordVoice::class, ObsoleteCoroutinesApi::class) | |
package gragas.play | |
import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler |
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
/* | |
* Rox is a simple object oriented language with non static typing | |
* Copyright (C) 2022 Gabrielle Guimarães de Oliveira | |
* | |
* This program is free software: you can redistribute it and/or modify | |
* it under the terms of the GNU General Public License as published by | |
* the Free Software Foundation, either version 3 of the License, or | |
* (at your option) any later version. | |
* | |
* This program is distributed in the hope that it will be useful, |
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
// Simple programming language | |
// Copyright (C) 2022 Gabrielle | |
// | |
// This program is free software: you can redistribute it and/or modify | |
// it under the terms of the GNU General Public License as published by | |
// the Free Software Foundation, either version 3 of the License, or | |
// (at your option) any later version. | |
// | |
// This program is distributed in the hope that it will be useful, | |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
NewerOlder