- IMPL=bash
- IMPL=c
- IMPL=cpp
- - IMPL=coffee # step5 hangs
+ - IMPL=coffee
- IMPL=cs
- IMPL=clojure
- IMPL=crystal
- IMPL=fsharp
- IMPL=go
- IMPL=groovy # stepA conj failures
- #- IMPL=guile # docker build issues
+ #- IMPL=guile # step0 regex issues
- IMPL=haskell
- IMPL=java
- IMPL=js
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
console.log rep line
catch exc
continue if exc instanceof reader.BlankException
- if exc.stack then console.log exc.stack
- else console.log exc
+ if exc.stack? and exc.stack.length > 2000
+ console.log exc.stack.slice(0,1000) + "\n ..." + exc.stack.slice(-1000)
+ else if exc.stack? console.log exc.stack
+ else console.log exc
# vim: ts=2:sw=2
}
args[0][args[1]]
}
+ def static do_conj(args) {
+ if (types.list_Q(args[0])) {
+ args.drop(1).inject(args[0], { a, b -> [b] + a })
+ } else {
+ types.vector(args.drop(1).inject(args[0], { a, b -> a + [b] }))
+ }
+ }
def static do_apply(args) {
def start_args = args.drop(1).take(args.size()-2) as List
args[0](start_args + (args.last() as List))
"apply": core.&do_apply,
"map": { a -> a[1].collect { x -> a[0].call([x]) } },
- "conj": null,
+ "conj": core.&do_conj,
"meta": { a -> a[0].hasProperty("meta") ? a[0].getProperties().meta : null },
"with-meta": { a -> def b = types.copy(a[0]); b.getMetaClass().meta = a[1]; b },