mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-17 08:34:20 +00:00
Remove echo from => macro and fix tclosuremacro test.
This commit is contained in:
@@ -54,7 +54,7 @@ macro `=>`*(p, b: expr): expr {.immediate.} =
|
||||
##
|
||||
## passTwoAndTwo((x, y) => x + y) # 4
|
||||
|
||||
echo treeRepr(p)
|
||||
#echo treeRepr(p)
|
||||
#echo(treeRepr(b))
|
||||
var params: seq[PNimrodNode] = @[newIdentNode("auto")]
|
||||
|
||||
@@ -92,7 +92,7 @@ macro `=>`*(p, b: expr): expr {.immediate.} =
|
||||
error("Incorrect procedure parameter list.")
|
||||
result = newProc(params = params, body = b, procType = nnkLambda)
|
||||
#echo(result.treeRepr)
|
||||
echo(result.toStrLit())
|
||||
#echo(result.toStrLit())
|
||||
#return result # TODO: Bug?
|
||||
|
||||
macro `->`*(p, b: expr): expr {.immediate.} =
|
||||
|
||||
@@ -10,34 +10,34 @@ noReturn
|
||||
|
||||
import future
|
||||
|
||||
proc twoParams(x: (int, int) -> int): int =
|
||||
result = x(5, 5)
|
||||
|
||||
proc oneParam(x: int -> int): int =
|
||||
x(5)
|
||||
|
||||
proc noParams(x: () -> int): int =
|
||||
result = x()
|
||||
|
||||
proc noReturn(x: () -> void) =
|
||||
x()
|
||||
|
||||
proc doWithOneAndTwo(f: (int, int) -> int): int =
|
||||
f(1,2)
|
||||
|
||||
echo twoParams(proc (a, b): auto = a + b)
|
||||
echo twoParams((x, y) => x + y)
|
||||
|
||||
echo oneParam(x => x+5)
|
||||
|
||||
echo noParams(() => 3)
|
||||
|
||||
echo doWithOneAndTwo((x, y) => x + y)
|
||||
|
||||
noReturn(() -> void => echo("noReturn"))
|
||||
|
||||
when false:
|
||||
proc twoParams(x: (int, int) -> int): int =
|
||||
result = x(5, 5)
|
||||
proc pass2(f: (int, int) -> int): (int) -> int =
|
||||
(x: int) -> int => f(2, x)
|
||||
|
||||
proc oneParam(x: int -> int): int =
|
||||
x(5)
|
||||
|
||||
proc noParams(x: () -> int): int =
|
||||
result = x()
|
||||
|
||||
proc noReturn(x: () -> void) =
|
||||
x()
|
||||
|
||||
proc doWithOneAndTwo(f: (int, int) -> int): int =
|
||||
f(1,2)
|
||||
|
||||
echo twoParams(proc (a, b): auto = a + b)
|
||||
echo twoParams((x, y) => x + y)
|
||||
|
||||
echo oneParam(x => x+5)
|
||||
|
||||
echo noParams(() => 3)
|
||||
|
||||
echo doWithOneAndTwo((x, y) => x + y)
|
||||
|
||||
noReturn(() -> void => echo("noReturn"))
|
||||
|
||||
proc pass2(f: (int, int) -> int): (int) -> int =
|
||||
(x: int) -> int => f(2, x)
|
||||
|
||||
#echo pass2((x, y) => x + y)
|
||||
#echo pass2((x, y) => x + y)
|
||||
|
||||
Reference in New Issue
Block a user