Skip to content

Instantly share code, notes, and snippets.

View aripiprazole's full-sized avatar
🎯
Focusing

Gabrielle Guimarães de Oliveira aripiprazole

🎯
Focusing
View GitHub Profile
@aripiprazole
aripiprazole / .vimrc
Created July 16, 2020 06:33
Neovim configuration, also usable in vim.
"
"
" Vim/Nvim configuration
"
" https://github.com/tpope/vim-fugitive
" https://github.com/udalov/kotlin-vim
" https://github.com/junegunn/vim-plug
" https://github.com/puremourning/vimspector
"
/*
* 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
@aripiprazole
aripiprazole / Session.kt
Created August 15, 2022 03:46
Empty server with Andesite
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
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
@aripiprazole
aripiprazole / ast.rs
Last active August 22, 2022 11:30
Parser for a typed lox programming language
/*
* 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,
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 {
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"))))
*
@aripiprazole
aripiprazole / Google.py
Last active August 22, 2022 11:33
Migrating youtube playlist
import pickle
import os
from google_auth_oauthlib.flow import Flow, InstalledAppFlow
from googleapiclient.discovery import build
from googleapiclient.http import MediaFileUpload, MediaIoBaseDownload
from google.auth.transport.requests import Request
def Create_Service(client_secret_file, api_name, api_version, *scopes):
print(client_secret_file, api_name, api_version, scopes, sep='-')
@aripiprazole
aripiprazole / json.main.kts
Last active August 22, 2022 11:34
Top-down JSON parser
sealed class Json {
data class Array(val items: Collection<Json>) : Json()
data class Object(val fields: Map<String, Json>) : Json()
data class Text(val text: String) : Json()
data class Numeric(val numeric: Double) : Json()
sealed class Bool(val bool: Boolean) : Json() {
object True : Bool(true) {
override fun toString(): String = "False"
}
@aripiprazole
aripiprazole / lexing.rs
Last active August 22, 2022 11:38
Simple programming language
// 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