1
0
mirror of https://github.com/osmarks/random-stuff synced 2024-09-15 00:19:36 +00:00

add more things???

This commit is contained in:
osmarks 2020-08-12 20:31:12 +01:00
parent 34bffb4f85
commit 19e50a1186
42 changed files with 4697 additions and 0 deletions

113
CookieEnterKeyPresser.py Executable file
View File

@ -0,0 +1,113 @@
#!/usr/bin/env python3
"""Lets you collect cookies"""
import multiprocessing as mp
import collections
import pickle
big_cookie = """
WNXXXXXNWW
WNNXK0OkkOO0OOO000KXXNNW
WN0O0O0kOOOO000OOkOOkOKK0OkO0N
N0kkOkdxxkkOOOOkkxkxddxkkkOK0kxk0KKXXNW
XkOOkxddkxkkOOkkkloddoodl;.;x0koOkdodxdddxk0XW
WK0O0OkdokkkOkdddl:ooodxdkxoloc:lkx000kdo;..,,,dON
Xxx:l0OkdkO0Okkxxdc::dkO0000OxxxdxoodOkdO00o';cd. :xk0N
XkOd'cxxkO0kdc.. .. .:llkOkxdolododdxkOOkkOOOOo:' coodx0NW
WXKOO00OkkkxkOd' .cko:;':cdxdddoolllooooocclloooddkklxxoodxkO0X
WKkOOkkoddxxkkkOko...lkk,.;ooooolllcc;::lllc:cclc:lloddxxkkkxooxddK
XOOkkxdokddoddxxxkOo;'...,dOkxxkdc,..;ooccccclc,..ll:;:;:ookOOkdxxxxK
NOkOOxdolodoodddoddlxxdo:dOkOxkko....';ldxxdoxxOk.:kc:lxdc:oxdcddl::xk0W
Nkkxkkxdll:cocc:ool::l;;lxkkxkkdll:'.'oxx:k000Kkkk. ...;.cdxkkxxx:. 'dx0
NkkxdddoolcooddxocdxxkodO00kxkOk'..lol,..:;;kkkkOdO; . 'lxko,. .lddX
KxxxxdddddxxdoxkxdkOOOOOO0Odlxkk;.. 'lc:;,::xkxoxxkO. .''.;dkxo,.. ..,lodk
Oxxxxxxxolc'. ckcdxkkOOOOxl'cOkx:. ;oolcdkxoldk0000x'oxol:dkkllol'';odddddX
Nxxxdxxxdoc:;,. .l:ooxdxkxxxkkk00kdc:c:odxkkk0Ooxkkkxkkk0Okkxxdxkxl:odxdddddK 1
KxdxxxxkkkkckkxkkOOx:dddxxddxo:,cldxxxdodxxkOOOl:clllodxxdkxddxdooccodxdooodxW
Xdoloxxoxkkdlc:;,oxx:cddddddoccllxxxdddlxkkkxdddo:cllloodxldkOOOolxxdooolloolX
kddoddodxdxxxkkocxkx:,loododxcc:;,,ldlcxxxdooooclcllloddxkxokOO;.'lxdxxxolclK
0dddxxx:dkxxokkkkkkOk::xdddll:. .:. .okxdoooooooooolloloddOOxxl. 'ooddddollN
Nxdolddl;OOxlxxxxdxxd:cxxkxlc;. .. . .lllo:cll;.:xkxdlcooxxxxdd,. ;dodoloolk
XddoldocxOklldddoddlclddxolkOx' :cloc;: .';'oxdddododooooc..cddxlloolX
Oddlololxkklcddddo;ccc:::.oxo:. .;lcoxxl .dxxoooodooll;;;;:ooooooo
XOdclxxdxooloolollkkkoddc:ooc:okkxdloxk; ..odooodoodxxdcllll:clooo0
0odxdlo:odddllcxOkocllclxkOOkkxkxdodxxl' .'ldoooo:;;,:lc;ddddoooolO
Nxodddddddxxldlokxc;;,xkxdddxxxkxxxdddkko,:::cclodo.... . ;dddlcllcX
Nlloxol;llc::;,;.',cooddodooddxkxxdo:clllcloc;coodo. ..,ldxollolcx
K......:;,ld,.. 'ooododoooodddoc,;coooodxl:;;:cllcclooooooolollW
0' ...;.;okxxxlcdOkdl:clooooolddddoooddlclodl::ccllccodoolooll,k
Wxlddxoxxdolldddxxxdlcclllol:l,. . .;ccllll::cc:;::ccoddooo;x
Wdoxxdool::::ccccclodxddxd; ,olllcclcccclooxdoolccdW
W0oloddodooclodxxxooddxxxd;. . .:c:;::cooooooccoollox0W
0occlolcloodxddxdooooddkkc,,.okdlclooodlcddlccclxX
Xkocc::::cllodoooolcc:ccllcccoooooddxo,,':coON
XOdclclcc:llcllolc:;;cllooooddldooooxk0X
NK0kdlcc:::ccc:clcllllcooooclx0XW
WNXXKOxoc;:cccccccldOKW
NOOddkOXW
"""
little_cookie = """
"""
def say_cookies(num):
if num == 1:
return "cookie"
else:
return "cookies"
def save(obj, name):
with open(name, "wb") as f:
pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)
def load(name):
with open(name, "rb") as f:
return pickle.load(f)
if __name__ == "__main__":
state = {
"cookies": 0
}
dispatch = {
"": lambda st: {"cookies": st["cookies"] + 1},
"help": lambda _: print("""
Available commands:
save [save name] - save current game state
load [save name] - load previous save
help - get this message
cookie - see a minicookie
<ENTER> - get cookies
"""),
"save": lambda st, save_name: save(st, save_name),
"load": lambda _, save_name: load(save_name),
"cookie": lambda _: print(little_cookie)
}
print(big_cookie)
while True:
print("You have %d %s." % (state["cookies"], say_cookies(state["cookies"])))
result_tokens = input(u"|||> ").split(" ")
try:
selected_func = dispatch[result_tokens[0]]
except:
print("Command not found.")
dispatch["help"](state)
continue
change = selected_func(state, *result_tokens[1:])
try: # An operation might return nothing instead of changing state.
for k, v in change.items():
state[k] = v
except:
pass

392
KerbalName/.gitignore vendored Executable file
View File

@ -0,0 +1,392 @@
# Created by https://www.gitignore.io/api/f#,linux,windows,macos,vim,emacs,visualstudio,visualstudiocode
### F# ###
lib/debug
lib/release
Debug
*.suo
*.user
obj
bin
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
### macOS ###
*.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Vim ###
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags
### Emacs ###
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
### VisualStudioCode ###
.vscode
### VisualStudio ###
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
build/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
project.fragment.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

View File

@ -0,0 +1,77 @@
module Kerbal.Names
open Argu
let readLinesFrom file =
use reader = new System.IO.StreamReader(path=file)
reader.ReadToEnd().Split('\n')
|> List.ofArray
type CommandLineArgument =
| [<AltCommandLine("-q")>] Quantity of int
| [<AltCommandLine("-s")>] Separator of string
| [<AltCommandLine("-d")>] DataDir of string
with
interface IArgParserTemplate with
member this.Usage =
match this with
| Quantity _ -> "How many names to generate (defaults to 1)"
| Separator _ -> "What to separate generated names with (defaults to newline)"
| DataDir _ -> "Where the program's datafiles can be found (defaults to KerbalNameData under working directory)"
module RNG =
let seedGenerator = System.Random()
let localGenerator = new System.Threading.ThreadLocal<System.Random>(fun _ ->
lock seedGenerator (fun _ ->
let seed = seedGenerator.Next()
new System.Random(seed)))
// Returns a version of System.Random using the threadlocal RNG.
// NOTE: Most functions are NOT thread-safe in this version.
let getRand() = {new System.Random() with member this.Next(lim) = localGenerator.Value.Next(lim)}
let inline randomChoice (rand : System.Random) (list:'a list) =
list.[rand.Next(list.Length)]
let inline generateHybridName rand prefixList suffixList =
(randomChoice rand prefixList) + (randomChoice rand suffixList)
let genName (rand : System.Random) properNames namePrefixes nameSuffixes =
if rand.Next(20) = 20 then
randomChoice rand properNames
else
generateHybridName rand namePrefixes nameSuffixes
[<EntryPoint>]
let main argv =
// Construct CLI parser with programname taken from env variables
let argParser = ArgumentParser.Create<CommandLineArgument>(programName = (Array.head <| System.Environment.GetCommandLineArgs()))
let parseResults = argParser.Parse argv
let dataDir = parseResults.GetResult(<@ DataDir @>, defaultValue = "KerbalNameData") + "/" // Append a slash in case missing
let quantity = parseResults.GetResult(<@ Quantity @>, defaultValue = 1)
let separator = parseResults.GetResult(<@ Separator @>, defaultValue = "\n")
// Access name datafiles
let properNames = readLinesFrom (dataDir + "Proper.txt")
let namePrefixes = readLinesFrom (dataDir + "Prefixes.txt")
let nameSuffixes = readLinesFrom (dataDir + "Suffixes.txt")
let rand = RNG.getRand()
let printingMailbox = MailboxProcessor.Start(fun inbox ->
let rec loop () = async {
let! msg = inbox.Receive()
printf "%s" msg
return! loop()
}
loop()
)
System.Threading.Tasks.Parallel.For(0, quantity, fun idx ->
genName rand properNames namePrefixes nameSuffixes
|> (fun name -> printingMailbox.Post(name + separator))
) |> ignore // We do not care about the result which came from the parallel loop.
0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
FSharp.Core
System.Runtime
System.IO
Argu

View File

@ -0,0 +1,96 @@
Ad
Al
Ald
An
Bar
Bart
Bil
Billy-Bob
Bob
Bur
Cal
Cam
Chad
Cor
Dan
Der
Des
Dil
Do
Don
Dood
Dud
Dun
Ed
El
En
Er
Fer
Fred
Gene
Geof
Ger
Gil
Greg
Gus
Had
Hal
Han
Har
Hen
Her
Hud
Jed
Jen
Jer
Joe
John
Jon
Jor
Kel
Ken
Ker
Kir
Lan
Lem
Len
Lo
Lod
Lu
Lud
Mac
Mal
Mat
Mel
Mer
Mil
Mit
Mun
Ned
Neil
Nel
New
Ob
Or
Pat
Phil
Ray
Rib
Rich
Ro
Rod
Ron
Sam
Sean
See
Shel
Shep
Sher
Sid
Sig
Son
Thom
Thomp
Tom
Wehr
Wil

View File

@ -0,0 +1,37 @@
Al
Alan
Archibald
Buzz
Carson
Chad
Charlie
Chris
Chuck
Dean
Ed
Edan
Edlu
Frank
Franklin
Gus
Hans
Jack
James
Jim
Kirk
Kurt
Lars
Luke
Mac
Matt
Phil
Randall
Scott
Scott
Sean
Steve
Tom
Will
Yuri
Olev
Dimitry

View File

@ -0,0 +1,119 @@
ald
bal
bald
bart
bas
berry
bert
bin
ble
bles
bo
bree
brett
bro
bur
burry
bus
by
cal
can
cas
cott
dan
das
den
din
do
don
dorf
dos
dous
dred
drin
dun
ely
emone
emy
eny
fal
fel
fen
field
ford
fred
frey
frey
frid
frod
fry
furt
gan
gard
gas
gee
gel
ger
gun
hat
ing
ke
kin
lan
las
ler
ley
lie
lin
lin
lo
lock
long
lorf
ly
mal
man
min
ming
mon
more
mund
my
nand
nard
ner
ney
nie
ny
oly
ory
rey
rick
rie
righ
rim
rod
ry
sby
sel
sen
sey
ski
son
sted
ster
sy
ton
top
trey
van
vey
vin
vis
well
wig
win
wise
zer
zon
zor

14
KerbalName/build.cmd Executable file
View File

@ -0,0 +1,14 @@
@echo off
cls
.paket\paket.bootstrapper.exe
if errorlevel 1 (
exit /b %errorlevel%
)
.paket\paket.exe restore
if errorlevel 1 (
exit /b %errorlevel%
)
packages\FAKE\tools\FAKE.exe build.fsx %*

51
KerbalName/build.fsx Executable file
View File

@ -0,0 +1,51 @@
// include Fake libs
#r "./packages/FAKE/tools/FakeLib.dll"
open Fake
// Directories
let buildDir = "./build/"
let deployDir = "./deploy/"
// Filesets
let appReferences =
!! "/**/*.csproj"
++ "/**/*.fsproj"
// version info
let version = "1.2a"
// Targets
Target "Clean" (fun _ ->
CleanDirs [buildDir; deployDir]
)
Target "Build" (fun _ ->
MSBuildDebug buildDir "Build" appReferences
|> Log "AppBuild-Output: "
)
Target "BuildRelease" (fun _ ->
MSBuildRelease buildDir "Build" appReferences
|> Log "AppBuild-Output: "
)
Target "Deploy" (fun _ ->
// Copy name data to buildDir for deployment
FileUtils.cp_r "KerbalNameData" (buildDir + "KerbalNameData/")
!! (buildDir + "/**/*.*")
-- "*.zip"
|> Zip buildDir (deployDir + "KerbalName." + version + ".zip")
)
// Build order
"Clean"
==> "BuildRelease"
==> "Deploy"
"Build" <=> "BuildRelease"
// start build
RunTargetOrDefault "Build"

34
KerbalName/build.sh Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
if test "$OS" = "Windows_NT"
then
# use .Net
.paket/paket.bootstrapper.exe
exit_code=$?
if [ $exit_code -ne 0 ]; then
exit $exit_code
fi
.paket/paket.exe restore
exit_code=$?
if [ $exit_code -ne 0 ]; then
exit $exit_code
fi
packages/FAKE/tools/FAKE.exe $@
else
# use mono
mono .paket/paket.bootstrapper.exe
exit_code=$?
if [ $exit_code -ne 0 ]; then
exit $exit_code
fi
mono .paket/paket.exe restore
exit_code=$?
if [ $exit_code -ne 0 ]; then
exit $exit_code
fi
mono packages/FAKE/tools/FAKE.exe $@
fi

4
KerbalName/paket.dependencies Executable file
View File

@ -0,0 +1,4 @@
source https://www.nuget.org/api/v2
nuget FAKE
nuget FSharp.Core
nuget Argu

569
KerbalName/paket.lock Executable file
View File

@ -0,0 +1,569 @@
NUGET
remote: https://www.nuget.org/api/v2
Argu (3.7)
FSharp.Core (>= 4.0.1.7-alpha) - framework: >= net463, >= netstandard16
NETStandard.Library (>= 1.6) - framework: >= net463, >= netstandard16
System.Xml.XDocument (>= 4.0.11) - framework: >= net463, >= netstandard16
FAKE (4.56)
FSharp.Core (4.1.0.2)
System.Collections (>= 4.0.11) - framework: >= netstandard16
System.Console (>= 4.0) - framework: >= netstandard16
System.Diagnostics.Debug (>= 4.0.11) - framework: >= netstandard16
System.Diagnostics.Tools (>= 4.0.1) - framework: >= netstandard16
System.Globalization (>= 4.0.11) - framework: >= netstandard16
System.IO (>= 4.1) - framework: >= netstandard16
System.Linq (>= 4.1) - framework: >= netstandard16
System.Linq.Expressions (>= 4.1) - framework: >= netstandard16
System.Linq.Queryable (>= 4.0.1) - framework: >= netstandard16
System.Net.Requests (>= 4.0.11) - framework: >= netstandard16
System.Reflection (>= 4.1) - framework: >= netstandard16
System.Reflection.Extensions (>= 4.0.1) - framework: >= netstandard16
System.Resources.ResourceManager (>= 4.0.1) - framework: >= netstandard16
System.Runtime (>= 4.1) - framework: >= netstandard16
System.Runtime.Extensions (>= 4.1) - framework: >= netstandard16
System.Runtime.Numerics (>= 4.0.1) - framework: >= netstandard16
System.Text.RegularExpressions (>= 4.1) - framework: >= netstandard16
System.Threading (>= 4.0.11) - framework: >= netstandard16
System.Threading.Tasks (>= 4.0.11) - framework: >= netstandard16
System.Threading.Tasks.Parallel (>= 4.0.1) - framework: >= netstandard16
System.Threading.Thread (>= 4.0) - framework: >= netstandard16
System.Threading.ThreadPool (>= 4.0.10) - framework: >= netstandard16
System.Threading.Timer (>= 4.0.1) - framework: >= netstandard16
System.ValueTuple (>= 4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
Microsoft.NETCore.Platforms (1.1) - framework: >= net10, >= netstandard10, netstandard13
Microsoft.NETCore.Targets (1.1) - framework: >= net10, >= netstandard10, netstandard13
Microsoft.Win32.Primitives (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
NETStandard.Library (1.6.1) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard10
Microsoft.Win32.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.AppContext (>= 4.3) - framework: >= net46, >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard10
System.Collections.Concurrent (>= 4.3) - framework: >= net45, >= netstandard11
System.Console (>= 4.3) - framework: >= net46, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard10
System.Diagnostics.Tools (>= 4.3) - framework: >= netstandard10
System.Diagnostics.Tracing (>= 4.3) - framework: >= net45, >= netstandard11
System.Globalization (>= 4.3) - framework: >= netstandard10
System.Globalization.Calendars (>= 4.3) - framework: >= net46, >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard10
System.IO.Compression (>= 4.3) - framework: >= net45, >= netstandard11
System.IO.Compression.ZipFile (>= 4.3) - framework: >= net46, >= netstandard13
System.IO.FileSystem (>= 4.3) - framework: >= net46, >= netstandard13
System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.Linq (>= 4.3) - framework: >= netstandard10
System.Linq.Expressions (>= 4.3) - framework: >= netstandard10
System.Net.Http (>= 4.3) - framework: >= net45, >= netstandard11
System.Net.Primitives (>= 4.3) - framework: >= netstandard10
System.Net.Sockets (>= 4.3) - framework: >= net46, >= netstandard13
System.ObjectModel (>= 4.3) - framework: >= netstandard10
System.Reflection (>= 4.3) - framework: >= netstandard10
System.Reflection.Extensions (>= 4.3) - framework: >= netstandard10
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard10
System.Runtime.Handles (>= 4.3) - framework: >= net46, >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= net45, >= netstandard11
System.Runtime.InteropServices.RuntimeInformation (>= 4.3) - framework: >= net45, >= netstandard11
System.Runtime.Numerics (>= 4.3) - framework: >= net45, >= netstandard11
System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net46, >= netstandard13
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard10
System.Text.Encoding.Extensions (>= 4.3) - framework: >= netstandard10
System.Text.RegularExpressions (>= 4.3) - framework: >= netstandard10
System.Threading (>= 4.3) - framework: >= netstandard10
System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
System.Threading.Timer (>= 4.3) - framework: >= net451, >= netstandard12
System.Xml.ReaderWriter (>= 4.3) - framework: >= netstandard10
System.Xml.XDocument (>= 4.3) - framework: >= netstandard10
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.native.System (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
runtime.native.System.IO.Compression (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
runtime.native.System.Net.Http (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1)
Microsoft.NETCore.Targets (>= 1.1)
runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3)
runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3)
runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3) - framework: >= net463, >= netstandard16
runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
System.AppContext (4.3) - framework: >= net463, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Buffers (4.3) - framework: >= net463, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard11
System.Diagnostics.Tracing (>= 4.3) - framework: >= netstandard11
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard11
System.Runtime (>= 4.3) - framework: >= netstandard11
System.Threading (>= 4.3) - framework: >= netstandard11
System.Collections (4.3) - framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Collections.Concurrent (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Reflection (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Console (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Diagnostics.Debug (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Diagnostics.DiagnosticSource (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: netstandard11, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: netstandard11, >= netstandard13
System.Reflection (>= 4.3) - framework: netstandard11, >= netstandard13
System.Runtime (>= 4.3) - framework: netstandard11, >= netstandard13
System.Threading (>= 4.3) - framework: netstandard11, >= netstandard13
System.Diagnostics.Tools (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Diagnostics.Tracing (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15
System.Globalization (4.3) - framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Globalization.Calendars (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Globalization.Extensions (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
System.IO (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.IO.Compression (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
runtime.native.System (>= 4.3) - framework: >= netstandard13
runtime.native.System.IO.Compression (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Buffers (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO.Compression.ZipFile (4.3) - framework: >= net463, >= netstandard16
System.Buffers (>= 4.3) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.IO.Compression (>= 4.3) - framework: >= netstandard13
System.IO.FileSystem (>= 4.3) - framework: >= netstandard13
System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.IO.FileSystem (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.IO.FileSystem.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
System.IO.FileSystem.Primitives (4.3) - framework: >= net463, >= netstandard16
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Linq (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Linq.Expressions (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Linq (>= 4.3) - framework: dnxcore50, >= netstandard16
System.ObjectModel (>= 4.3) - framework: >= netstandard16
System.Reflection (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
System.Reflection.Emit (>= 4.3) - framework: >= netstandard16
System.Reflection.Emit.ILGeneration (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Reflection.Emit.Lightweight (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Reflection.TypeExtensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Linq.Queryable (4.3) - framework: >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Linq (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Linq.Expressions (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Net.Http (4.3.1) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard13, >= netstandard16
runtime.native.System (>= 4.3) - framework: >= netstandard16
runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Diagnostics.DiagnosticSource (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Globalization.Extensions (>= 4.3) - framework: >= netstandard16
System.IO (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
System.IO.FileSystem (>= 4.3) - framework: >= netstandard16
System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Runtime.Handles (>= 4.3) - framework: netstandard13, >= netstandard16
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.X509Certificates (>= 4.3) - framework: >= net46, dnxcore50, netstandard13, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
System.Threading (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard16
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, netstandard13, >= netstandard16
System.Net.Primitives (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Net.Requests (4.3) - framework: >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Net.Http (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Net.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Net.WebHeaderCollection (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard11, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Net.Sockets (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Net.Primitives (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
System.Net.WebHeaderCollection (4.3) - framework: >= netstandard16
System.Collections (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.ObjectModel (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Reflection (4.3) - framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.IO (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Reflection.Emit (4.3) - framework: >= net463, >= netstandard16
System.IO (>= 4.3) - framework: >= netstandard11
System.Reflection (>= 4.3) - framework: >= netstandard11
System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard11
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard11
System.Runtime (>= 4.3) - framework: >= netstandard11
System.Reflection.Emit.ILGeneration (4.3) - framework: >= net463, >= netstandard16
System.Reflection (>= 4.3) - framework: >= netstandard10
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Reflection.Emit.Lightweight (4.3) - framework: >= net463, >= netstandard16
System.Reflection (>= 4.3) - framework: >= netstandard10
System.Reflection.Emit.ILGeneration (>= 4.3) - framework: >= netstandard10
System.Reflection.Primitives (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Reflection.Extensions (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Reflection.Primitives (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Reflection.TypeExtensions (4.3) - framework: >= net463, >= netstandard16
System.Reflection (>= 4.3) - framework: >= net462, dnxcore50, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15
System.Resources.ResourceManager (4.3) - framework: >= net10, >= netstandard10
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard10
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard10
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard10
System.Runtime (4.3) - framework: >= net10, >= netstandard10, netstandard13
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard12, netstandard13, >= netstandard15
System.Runtime.Extensions (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard15
System.Runtime.Handles (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Reflection (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Reflection.Primitives (>= 4.3) - framework: dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Runtime (>= 4.3) - framework: net462, >= net463, dnxcore50, netstandard11, netstandard12, netstandard13, >= netstandard15, netcore11
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, >= netstandard15, netcore11
System.Runtime.InteropServices.RuntimeInformation (4.3) - framework: >= net463, >= netstandard16
runtime.native.System (>= 4.3) - framework: >= netstandard11
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Reflection.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard11
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard11
System.Runtime.Numerics (4.3) - framework: >= net463, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Security.Cryptography.Algorithms (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
runtime.native.System.Security.Cryptography.Apple (>= 4.3) - framework: >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
System.Collections (>= 4.3) - framework: >= netstandard16
System.IO (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, dnxcore50, >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Security.Cryptography.Cng (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: netstandard14, >= netstandard16
System.IO (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: netstandard14, >= netstandard16
System.Runtime (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: netstandard14, >= netstandard16
System.Runtime.Handles (>= 4.3) - framework: netstandard13, netstandard14, >= netstandard16
System.Runtime.InteropServices (>= 4.3) - framework: netstandard14, >= netstandard16
System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
System.Security.Cryptography.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: net46, net461, >= net463, netstandard13, netstandard14, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: netstandard14, >= netstandard16
System.Security.Cryptography.Csp (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Reflection (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net46, >= netstandard13
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net46, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.Encoding (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: >= netstandard13
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard13
System.Collections (>= 4.3) - framework: >= netstandard13
System.Collections.Concurrent (>= 4.3) - framework: >= netstandard13
System.Linq (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= netstandard13
System.Text.Encoding (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.OpenSsl (4.3) - framework: >= net463, >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= net463, >= netstandard16, monoandroid, monotouch, xamarinios, xamarinmac
System.Collections (>= 4.3) - framework: >= netstandard16
System.IO (>= 4.3) - framework: >= net463, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard16
System.Runtime (>= 4.3) - framework: >= net463, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: >= net463, >= netstandard16
System.Runtime.Handles (>= 4.3) - framework: >= netstandard16
System.Runtime.InteropServices (>= 4.3) - framework: >= netstandard16
System.Runtime.Numerics (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Algorithms (>= 4.3) - framework: >= net463, >= netstandard16
System.Security.Cryptography.Encoding (>= 4.3) - framework: >= net463, >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: >= net463, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Primitives (4.3) - framework: >= net463, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard13
System.Globalization (>= 4.3) - framework: >= netstandard13
System.IO (>= 4.3) - framework: >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard13
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Threading (>= 4.3) - framework: >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: >= netstandard13
System.Security.Cryptography.X509Certificates (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard16
runtime.native.System (>= 4.3) - framework: >= netstandard16
runtime.native.System.Net.Http (>= 4.3) - framework: >= netstandard16
runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Diagnostics.Debug (>= 4.3) - framework: >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Globalization.Calendars (>= 4.3) - framework: dnxcore50, >= netstandard16
System.IO (>= 4.3) - framework: dnxcore50, >= netstandard16
System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard16
System.IO.FileSystem.Primitives (>= 4.3) - framework: >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime.Handles (>= 4.3) - framework: dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime.Numerics (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Security.Cryptography.Algorithms (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Security.Cryptography.Cng (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Security.Cryptography.Csp (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Encoding (>= 4.3) - framework: net46, >= net461, dnxcore50, netstandard13, netstandard14, >= netstandard16
System.Security.Cryptography.OpenSsl (>= 4.3) - framework: >= netstandard16
System.Security.Cryptography.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Text.Encoding (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Text.Encoding.Extensions (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Text.RegularExpressions (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, netstandard13, >= netstandard16, netcore11
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard16
System.Threading (4.3) - framework: >= net463, >= netstandard16
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks (4.3) - framework: >= net10, netstandard10, netstandard13, >= netstandard15
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks.Extensions (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Threading.Tasks (>= 4.3) - framework: >= netstandard10
System.Threading.Tasks.Parallel (4.3) - framework: >= netstandard16
System.Collections.Concurrent (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tracing (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard11, >= netstandard13
System.Threading.Thread (4.3) - framework: >= netstandard16
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Threading.ThreadPool (4.3) - framework: >= netstandard16
System.Runtime (>= 4.3) - framework: >= netstandard13
System.Runtime.Handles (>= 4.3) - framework: >= netstandard13
System.Threading.Timer (4.3) - framework: >= net463, >= netstandard16
Microsoft.NETCore.Platforms (>= 1.1) - framework: dnxcore50, >= netstandard12
Microsoft.NETCore.Targets (>= 1.1) - framework: dnxcore50, >= netstandard12
System.Runtime (>= 4.3) - framework: dnxcore50, >= netstandard12
System.ValueTuple (4.3) - framework: >= net10, netstandard10, netstandard11, netstandard12, netstandard13, netstandard14, netstandard15
System.Collections (>= 4.3) - framework: >= netstandard10
System.Resources.ResourceManager (>= 4.3) - framework: >= netstandard10
System.Runtime (>= 4.3) - framework: >= netstandard10
System.Xml.ReaderWriter (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.IO.FileSystem (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO.FileSystem.Primitives (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime.InteropServices (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Text.Encoding.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Text.RegularExpressions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading.Tasks (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Threading.Tasks.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Xml.XDocument (4.3) - framework: >= net463, >= netstandard16
System.Collections (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Debug (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Diagnostics.Tools (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Globalization (>= 4.3) - framework: dnxcore50, >= netstandard13
System.IO (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Reflection (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Resources.ResourceManager (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Runtime (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13
System.Runtime.Extensions (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Text.Encoding (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Threading (>= 4.3) - framework: dnxcore50, >= netstandard13
System.Xml.ReaderWriter (>= 4.3) - framework: dnxcore50, netstandard10, >= netstandard13

23
README.md Normal file
View File

@ -0,0 +1,23 @@
# random-stuff
In the interest of transparency and/or being vaguely useful, I'm releasing random junk from my projects folder publicly.
This comes with absolutely no guarantee of support or correct function, although if you need some of this for something I will *try* and answer any queries you might have.
## Contents (incomplete and rough list)
* some interpreters for esolangs due to events on the esolangs discord
* bad assembly hello world for some reason
* political compass visualizer thing for one Discord server
* simple un-hexadecimal-izer program (`base64 -d` exists but somehow not `base16 -d` or something)
* scripts for packing music + metadata onto Computronics (a Minecraft mod) tape images
* some thing to generate WAV files containing beeping noises
* fairly transferable small bits of an abandoned JS project
* an extremely bad and/or unfinished cookie clicker thing where you press the enter key instead of clicking
* a very simple web API wrapper for `luamin`
* some bodged old version of [it-was-inevitable](https://github.com/BenLubar/it_was_inevitable) which runs a local webserver instead of sending to Mastodon
* an extremely cursed program which bruteforces regexes or something?
* `realtau.txt`, which seemingly contains 100000 digits of τ. I wonder if there's a faketau somewhere.
* some weird thing which lets you use synonyms to get attributes on python objects
* something which generates random vaguely human readable names in Elm. Please note that I do NOT endorse the use of Elm and this is provided mostly just to make the languages list at the side weirder.
* F# kerbal name generator & very basic stack calculator
* importer part of an unfinished wikipedia database dump viewer

100
Stackulator.fs Executable file
View File

@ -0,0 +1,100 @@
open System
open System.Numerics
type Stack = StackContents of Complex list
let splitPart (what:char) index (stringIn:string) = stringIn.Split(what).[index]
let spliti = splitPart 'i'
let firstInSpliti = spliti 0
let secondInSpliti = spliti 1
let isDoubleAsString text = System.Double.TryParse text |> fst
let doubleFromString text = System.Double.TryParse text |> snd
let isImaginaryAsString (text:string) =
match text.Contains("i") with
| false -> false
| true ->
let normalPart = firstInSpliti text
isDoubleAsString normalPart
let imaginaryFromString text =
let imaginaryPart = doubleFromString (firstInSpliti text)
Complex(0.0, imaginaryPart)
let showStack (StackContents contents) =
printfn "%A" contents // Print unpacked StackContents with formatting string
StackContents (contents) // Repack the StackContents
let push value (StackContents contents) =
StackContents (value::contents)
let pop (StackContents contents) =
match contents with
| top::rest -> // Separate top from rest
(top, StackContents rest) // Stack contents must be the StackContents type.
| [] -> // Check for stack underflow
failwith "Stack underflow"
let binary func stack =
let x, newStack = pop stack
let y, newestStack = pop newStack
let z = func y x // This is deliberately swapped, because we are working on a stack
push z newestStack
let unary func stack =
let x, newStack = pop stack
push (func x) stack
let dup stack =
let x, _ = pop stack // Drop the new stack, we want to duplicate "x"
push x stack
let swap stack =
let x, newStack = pop stack
let y, newerStack = pop newStack
push y (push x newerStack)
let drop stack =
let _, newStack = pop stack // Pop one off the top and ignore it
newStack
let numberInput value stack = push value stack
let add = binary (+)
let multiply = binary (*)
let subtract = binary (-)
let divide = binary (/)
let negate = unary (fun x -> -(x))
let square = unary (fun x -> x * x)
let cube = dup >> dup >> multiply >> multiply
let exponent = binary ( ** )
let show stack =
let value, _ = pop(stack)
printfn "%A" value
stack // We're going to keep the same stack as before.
let empty = StackContents []
let splitString (text:string) = text.Split ' '
let processTokenString stack token =
match token with
| "*" -> stack |> multiply
| "+" -> stack |> add
| "/" -> stack |> divide
| "+-" -> stack |> negate
| "sqr" -> stack |> square
| "cub" -> stack |> cube
| "**" | "^" -> stack |> exponent
| _ whe