spry is a programming language created in 2015 by Göran Krampe.
git clone https://github.com/gokr/spry
#691on PLDB | 9Years Old |
A Smalltalk and Rebol inspired language implemented as an AST interpreter in Nim
# Let's add a method to:do: that works as in Smalltalk.
# Methods take the first argument, the "receiver", from the left
# and binds it to "self".
to:do: = method [:to :block
n = self
[n <= to] whileTrue: [
do block n
..n = (n + 1)]]
# Then we can loop in Smalltalk style echoing 1 to 5!
1 to: 5 do: [echo :x]
# We can similarly implement select: from Smalltalk
select: = method [:pred
result = ([] clone)
self reset
[self end?] whileFalse: [
n = (self next)
do pred n then: [result add: n]]
^result]
# Then use it to produce [3 4]
echo ([1 2 3 4] select: [:x > 2])
#48!#65!#6c!#6c!#6f!#20!#57!#6f!#72!#6c!#64!
Feature | Supported | Token | Example |
---|---|---|---|
Booleans | ✓ | True False | |
Comments | ✓ | # A comment |
|
Line Comments | ✓ | # | # A comment |
Semantic Indentation | X |