Using Constraint Handling Rules to Provide Static Type Analysis for the Q Functional Language

Computer Science – Programming Languages

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Online Proceedings of the 11th International Colloquium on Implementation of Constraint LOgic Programming Systems (CICLOPS 201

Scientific paper

We describe an application of Prolog: a type checking tool for the Q functional language. Q is a terse vector processing language, a descendant of APL, which is getting more and more popular, especially in financial applications. Q is a dynamically typed language, much like Prolog. Extending Q with static typing improves both the readability of programs and programmer productivity, as type errors are discovered by the tool at compile time, rather than through debugging the program execution. The type checker uses constraints that are handled by Prolog Constraint Handling Rules. During the analysis, we determine the possible type values for each program expression and detect inconsistencies. As most built-in function names of Q are overloaded, i.e. their meaning depends on the argument types, a quite complex system of constraints had to be implemented.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Using Constraint Handling Rules to Provide Static Type Analysis for the Q Functional Language does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Using Constraint Handling Rules to Provide Static Type Analysis for the Q Functional Language, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Using Constraint Handling Rules to Provide Static Type Analysis for the Q Functional Language will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-136748

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.