ATS looks cool.
So... to link things that use math functions, you use -lm
.
To compile http://www.ats-lang.org/TUTORIAL/contents/basics.dats, you should do the same because it uses sqrt
math function.
atscc basics.dats -lm
And I am writing ats.vim
" Vim syntax file
" Language: ats
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
:runtime! syntax/c.vim
:unlet b:current_syntax
syn case match
" Keywords
syn keyword atsKeyword implement begin end staload
syn keyword atsKeyword prefix postfix infix infixl infixr op nonfix
syn keyword atsKeyword val and fun fn lam fix rec
syn keyword atsKeyword if then else let in where
syn keyword atsKeyword symintr overload with
syn keyword atsKeyword typedef datatype sortdef
syn keyword atsKeyword case of
syn keyword atsSorts bool char int prop type view viewtype
syn keyword atsTypes string float double
" Comments
syn match atsLineComment /\/\/.*$/
syn region atsFileComment start=/\/\/\/\// end=/\%$/
syn region atsMLComment start=/(\*/ end=/\*)/ contains=atsMLComment
syn region atsCComment start=/\/\*/ end=/\*\//
" Literals
syn keyword atsBoolean true false
if version >= 508 || !exists("did_c_syn_inits")
if version < 508
let did_c_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink atsLineComment Comment
HiLink atsFileComment Comment
HiLink atsMLComment Comment
HiLink atsCComment Comment
HiLink atsKeyword Keyword
HiLink atsSorts Type
HiLink atsTypes Type
delcommand HiLink
endif
let b:current_syntax = "ats"
Things to look at:
- http://github.com/doublec/cf/tree/master
- above is from this
- http://www.call-with-current-continuation.org/fp/
Speaking of concatenative language, I was trying to do something like this: http://www.bluishcoder.co.nz/xyjs/xylistener.html, which is from this post. Lol I just copied it over and tried to do something... http://wekeywiki.googlepages.com/ascl-listener.html. But I gave up on it.. Anyways, it's another TODO thing :(
No comments:
Post a Comment