purely-functional

    0热度

    1回答

    我花了很长的时间,无需编程哈斯克尔,并决定采取一个相对先进的项目重新进入它。我试图通过遵循this guide从头开始编程一个神经网络。我划伤了我的身边了他的一些最深奥的方法,如创建重量和偏见的网络的简单问题的头,但是当涉及到这一点: feed :: [Float] -> [([Float], [[Float]])] -> [Float] feed input brain = foldl' ((

    4热度

    2回答

    我一直在阅读函数式编程及其概念。我很清楚,在大型项目中工作时,您总是需要混合(在某种适当的层面上)多种范例,例如面向对象和功能。理论上,函数纯度等概念太严格,例如: 该函数总是在给定相同参数值的情况下评估相同的结果值。函数结果值不能取决于程序执行过程中或程序的不同执行之间可能改变的任何隐藏信息或状态,也不能取决于来自I/O设备的任何外部输入。 (https://en.wikipedia.org/w

    3热度

    2回答

    我有以下场景。 function MyComponent() { return ( <View> <TextInput ref={ref => (this.input = ref)} style={styles.input} /> {this.input.isFocused() && <Text>Hello World</Text>} </Vie

    3热度

    2回答

    我从F#开始,在理解语法方面取得了一些进展。但是,我仍然不清楚使用F#功能的最佳方法。在Python中,我来自哪里,通常有一种“最好”(几乎是标准的)做事方式。也许F#也是这样,但我还没有弄明白。所以我的问题是关于使用F#的最佳方式,而不是关于F#语法的技术问题。 最近我看到Dr. Eric Meijer (C9 Lectures - Functional Programming Fundamen

    0热度

    1回答

    所以,我相信我理解纯函数。类似于abs或sqrt的地方,输出依赖于输入并且没有副作用。不过,我很困惑这种方法如何工作。 如果我们将一个方法作为一个带有隐式参数的函数来看,那么我会假定像下面那样的方法确实是纯的。 class Foo { int x; [Pure] public int Bar() { return x * 2; } } 这是一个正确的假设,该函数是纯粹

    1热度

    1回答

    我是F#的新手,我正在编写一些小挑战来学习有关该语言的基本细节。由于不可变性,我认为我有一个问题。 场景: 我必须在控制台中读取高度线,每行包含一个整数。该整数代表山的大小。 阅读输入后,我需要写出最高山脉的行数。 如果给出的指数是最高的山,那么大小设置为零,否则我松动。 重复该场景,直到所有的山都将其大小设置为零。 下面的代码我写道: open System type Mountain =

    1热度

    4回答

    我有这样的代码。我如何使用JavaScript中的函数式编程以更清晰,更优雅的方式编写它?我想摆脱嵌套的三元表达式。有任何想法吗? props => ({ iconColor: props.isPriority ? (props.isCompleted ? variables.color.lightpurple : variables.color.purple) : variable

    1热度

    2回答

    我想编写一个函数序列,当给定一个字符串将其传递给所有创建的函数并生成一个修改过的字符串。 例如 string[] arr = {"po", "ro", "mo", "do"}; var modify = "pomodoroX"; foreach (var token in arr) { modify = modify.Replace(token, ""); } Console

    0热度

    1回答

    最近我一直在探索Idris中的依赖类型。然而,我克服了一个非常烦人的问题,这是在伊德里斯,我应该用类型签名开始我的程序。所以问题是,如何在Idris中编写简洁的类型签名? 例如, get_member : (store : Vect n String) -> (idx : List (Fin n)) -> (m : Nat ** Vect m (Nat, String)) get_member

    5热度

    1回答

    我正在通过由托马斯Petricek和乔恩Skeet(两个SO大师,顺便说一句,感谢他们两人)优秀的书籍“真实世界功能编程”。 下面的函数,在277页,引入了一个阵列上计算三点平均考虑到侧值作为特殊的人的一种方法: let blurArray (arr:float[]) = let res = Array.create arr.Length 0.0 res.[0] <- (arr