skip to main content
10.1145/1411260.1411267acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Experimenting with formal languages using forlan

Published: 21 September 2008 Publication History

Abstract

We give an introduction to the Forlan formal language theory toolset, which was designed to facilitate sophisticated experimentation with formal languages. Forlan is embedded in the functional programming language Standard ML, a language whose notation and concepts are similar to those of mathematics. It is strongly typed and interactive, properties that help make experimentation robust, simple and enjoyable. We give an extended example of the kind of experimentation that Forlan makes possible. It involves the use of closure properties/algorithms for regular languages/finite automata and a "difference" function on strings of zeros and ones.

References

[1]
A. W. Appel and D. B. MacQueen. Standard ML of New Jersey. In Programming Language Implementation and Logic Programming, volume 528 of Lecture Notes in Computer Science, pages 1--26. Springer-Verlag, 1991.
[2]
J. Barwise and J. Etchemendy. Turing's World 3.0 for Mac: An Introduction to Computability Theory. Cambridge University Press, 1993.
[3]
A. O. Bilska, K. H. Leider, M. Procopiuc, O. Procopiuc, S. H. Rodger, J. R. Salemme, and E. Tsang. A collection of tools for making automata theory and formal languages come alive. In Twenty-eighth ACM SIGCSE Technical Symposium on Computer Science Education, pages 15--19. ACM Press, 1997.
[4]
T. Hung and S. H. Rodger. Increasing visualization and interaction in the automata theory course. In Thirty-first ACM SIGCSE Technical Symposium on Computer Science Education, pages 6--10. ACM Press, 2000.
[5]
H. Leiß. The Automata Library. http://www.cis.uni-muenchen.de/leiss/sml-automata.html, 2000.
[6]
S. Lombardy, Y. Régis-Gianas, and J. Sakarovitch. Introducing vaucanson. Theoretical Computer Science, 328:77--96, 2004.
[7]
R. Milner, M. Tofte, R. Harper, and D. MacQueen. The Definition of Standard ML - Revised 1997. MIT Press, 1997.
[8]
D. Raymond and D. Wood. Grail: A C++ library for automata and expressions. Journal of Symbolic Computation, 17:341--350, 1994.
[9]
M. B. Robinson, J. A. Hamshar, J. E. Novillo, and A. T. Duchowski. A Java-based tool for reasoning about models of computation through simulating finite automata and turing machines. In Thirtieth ACM SIGCSE Technical Symposium on Computer Science Education, pages 105--109. ACM Press, 1999.
[10]
S. H. Rodger. JFLAP: An Interactive Formal Languages and Automata Package. Jones and Bartlett Publishers, 2006.
[11]
J. Saraiva. HaLeX: A Haskell library to model, manipulate and animate regular languages. In ACM Workshop on Functional and Declarative Programming in Education (FDPE/PLI'02), Pittsburgh, October 2002.
[12]
A. Stoughton. Experimenting with formal languages. In Thirty-sixth ACM SIGCSE Technical Symposium on Computer Science Education, page 566. ACM Press, 2005.
[13]
A. Stoughton. Formal Language Theory: Integrating Experimentation and Proof. http://people.cis.ksu.edu/~stough/forlan/, 2008.
[14]
K. Sutner. Implementing finite state machines. In N. Dean and G. E. Shannon, editors, Computational Support for Discrete Mathematics, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 15, pages 347--363. American Mathematical Society, 1992.
[15]
S. Yu. Grail+: A symbolic computation environment for finite-state machines, regular expressions, and finite languages. http://www.csd.uwo.ca/Research/grail/, 2002.

Cited By

View all
  • (2022)Teaching Simple Constructive Proofs with Haskell ProgramsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.363.4363(54-73)Online publication date: 26-Jul-2022
  • (2022)Programming to LearnProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524814(311-317)Online publication date: 7-Jul-2022
  • (2022)GidayuProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524742(110-116)Online publication date: 7-Jul-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FDPE '08: Proceedings of the 2008 international workshop on Functional and declarative programming in education
September 2008
98 pages
ISBN:9781605580685
DOI:10.1145/1411260
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 September 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. pedagogy
  2. standard ml
  3. toolset

Qualifiers

  • Research-article

Conference

ICFP08
Sponsor:

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Teaching Simple Constructive Proofs with Haskell ProgramsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.363.4363(54-73)Online publication date: 26-Jul-2022
  • (2022)Programming to LearnProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524814(311-317)Online publication date: 7-Jul-2022
  • (2022)GidayuProceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education Vol. 110.1145/3502718.3524742(110-116)Online publication date: 7-Jul-2022
  • (2021)Pyformlang: An Educational Library for Formal Language ManipulationProceedings of the 52nd ACM Technical Symposium on Computer Science Education10.1145/3408877.3432464(576-582)Online publication date: 3-Mar-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media