SenseTalk features to LiveCode?
Posted: Wed Sep 14, 2016 6:20 am
I think its a good thing to research the few other xTalk alternatives looking for ideas to improve LiveCode.
SenseTalk was the scripting environment of NeXTStep/OpenStep (you know, the one where mr Jobs was involved with) and now officially in use by TestPlant/eggPlant (automated testing platform). It has some very good documentation, both online and in PDF. I would recommend for the main architect(s) of the LiveCode language to take a good look at their additions to HyperCard and give them complements by implementing some of these additions in LiveCode.
Some things seems to be easy to implement and are a major improvement. Things that also are already frequently requested by other LC users. Things like multi line value assignment (text block) and by reference variables.
PDF: http://docs.testplant.com/PDFs/SenseTal ... erence.pdf
The database handling is also neat (implemented as a language feature).
simple values
<3FA64B> --binary, spaces, newline ignored
text block
put {{The Matrix
Terminator
Star Trek}} into movies
nested list
property list
put (name:"john", age:30) into person
put name of person
put person.name
iterator
put "A" to "Z" into alphabet
put alphabet.nextValue
OR
...
byte size
MB KB
local, global (main stack), universal (between main stacks)
multi variable assignment
put 0 into (a, b, c)
put 1, 2, 3 into a, b, c
put 30 into age
put reference to age into age2
OR
put @age into age2
put age2
add 1 to age2
put age --31
add 1 to age
put age2 --32
myFunction @age --pass reference to age to myFunction
automatic date/time/weight/size arithmetic/conversion
put today + 2 weeks into dueDate
more date formats (international date)
database handling
SenseTalk was the scripting environment of NeXTStep/OpenStep (you know, the one where mr Jobs was involved with) and now officially in use by TestPlant/eggPlant (automated testing platform). It has some very good documentation, both online and in PDF. I would recommend for the main architect(s) of the LiveCode language to take a good look at their additions to HyperCard and give them complements by implementing some of these additions in LiveCode.
Some things seems to be easy to implement and are a major improvement. Things that also are already frequently requested by other LC users. Things like multi line value assignment (text block) and by reference variables.
PDF: http://docs.testplant.com/PDFs/SenseTal ... erence.pdf
The database handling is also neat (implemented as a language feature).
simple values
<3FA64B> --binary, spaces, newline ignored
text block
put {{The Matrix
Terminator
Star Trek}} into movies
nested list
property list
put (name:"john", age:30) into person
put name of person
put person.name
iterator
put "A" to "Z" into alphabet
put alphabet.nextValue
OR
...
byte size
MB KB
local, global (main stack), universal (between main stacks)
multi variable assignment
put 0 into (a, b, c)
put 1, 2, 3 into a, b, c
put 30 into age
put reference to age into age2
OR
put @age into age2
put age2
add 1 to age2
put age --31
add 1 to age
put age2 --32
myFunction @age --pass reference to age to myFunction
automatic date/time/weight/size arithmetic/conversion
put today + 2 weeks into dueDate
more date formats (international date)
database handling