sentence: programming language and assemblers which have known self-hosting implementations include ada , basic , c , c++ , c# , coffeescript , dylan , f# , fasm , forth , gambas , haskell , java , lisp , modula-2 , ocaml , oberon , pascal , python , rust , scala , smalltalk , vala , and visual basic .