我能够使用.NET Core构建和运行F#项目,但无法使用或看到F#Interactive.它在某个地方的路线图上吗?
我正在使用Linux Mint 18.3
我一直在研究是否可以制作一个由操作和叶节点组成的非常简单的AST。但更具体地说,我希望能够将任何类型用作叶节点,而不是像这样在AST数据类型本身中明确指定它。
-- Instead of this
data Tree = Number Int | Word String | Operation Tree (Tree -> Tree -> Tree) Tree
-- I'd like something along the lines of this
data Tree a = Leaf a | Operation Tree (Tree -> Tree -> Tree) Tree
Run Code Online (Sandbox Code Playgroud)
这不一定具有很大的实用性,但是我想看看是否有可能。到目前为止,我所管理的最接近的产品要求我对GADT的概念进行摸索:
{-# LANGUAGE GADTs #-}
data Tree l where
Leaf :: l -> Tree l
Operation :: Tree a -> (a -> b -> c) -> Tree b -> Tree c
let fivePlus2 = …Run Code Online (Sandbox Code Playgroud) tree haskell functional-programming abstract-syntax-tree gadt