Skip to content

Instantly share code, notes, and snippets.

View sergey-tihon's full-sized avatar
🦀

Sergey Tihon sergey-tihon

🦀
View GitHub Profile
@sergey-tihon
sergey-tihon / gist:6467164
Created September 6, 2013 17:41
F# PowerShell Get-Item
#r @"System.Management.Automation.dll"
#r @"PowerShellTypeProvider.dll"
type PS = FSharp.PowerShell.PowerShellTypeProvider< PSSnapIns="", Is64BitRequired=false >
PS.``Get-Item``()
interface I<T>
{}
interface I1<T> : I<T>
{}
interface I2<T> : I<T>
{}
class A : I1<int>, I2<double>
{}
type I<'T> = interface end
type I1<'T> = inherit I<'T>
type I2<'T> = inherit I<'T>
type A =
inherit I1<int>
inherit I2<double>
@sergey-tihon
sergey-tihon / gist:5995802
Created July 14, 2013 20:20
The N Queens problem!
type ChessboardState =
{Row:bool[]; DiagPlus:bool[]; DiagMin:bool[]}
let inline diagMinInd (chessboard:ChessboardState) (x,y) =
if x-y>=0 then x-y else x-y+chessboard.DiagMin.Length
let canPlaceOn (chessboard:ChessboardState) (x,y) =
chessboard.Row.[y] && chessboard.DiagPlus.[x+y] && chessboard.DiagMin.[diagMinInd chessboard (x,y)]
let changeState (chessboard:ChessboardState) (x,y) =
type Message =
| Sleep of int*int
| SyncPoint of AsyncReplyChannel<unit>
let agent =
MailboxProcessor.Start(fun inbox ->
let rec loop() =
async {
let! msg = inbox.Receive()
match msg with
open System
open System.Net
open System.Text
open System.IO
let siteRoot = @"D:\mySite\"
let host = "http://localhost:8080/"
let listener (handler:(HttpListenerRequest -> HttpListenerResponse -> Async<unit>)) cancellationToken =
let hl = new HttpListener()
using java.io;
using edu.stanford.nlp.process;
using edu.stanford.nlp.ling;
using edu.stanford.nlp.trees;
using edu.stanford.nlp.parser.lexparser;
namespace Stanford_Parser
{
class Program
module MainApp
open System
open System.Windows
open System.Windows.Controls
open FSharpx
type MainWindow = XAML<"MainWindow.xaml">
let loadWindow() =
@sergey-tihon
sergey-tihon / gist:5343737
Created April 9, 2013 07:37
F#, ServiceStack + Project Service
open System
open ServiceStack.ServiceHost
open ServiceStack.WebHost.Endpoints
open ServiceStack.ServiceInterface
type Project() =
let mutable projectID = 0
let mutable projectName = ""
let mutable companyName = ""
let mutable projectStatus = ""
@sergey-tihon
sergey-tihon / gist:4551155
Last active December 11, 2015 05:18 — forked from v2m/gist:4550877
WSDL schema for https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2?WSDL updated for WCF compatibility
<?xml version="1.0" encoding="utf-8"?>
<ServiceMetadataFiles>
<ServiceMetadataFile name="developer.atlassian.com.rpc.soap-axis.confluenceservice-v2.wsdl">
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:intf="https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="http://rpc.confluence.atlassian.com" xmlns:tns2="http://beans.soap.rpc.confluence.atlassian.com" xmlns:impl="https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2" targetNamespace="https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="https://developer.atlassian.com/rpc/soap-axis/confluenceservice-v2">
<import namespace="http://beans.soap.rpc.confluence.atlassian.co