aboutsummaryrefslogtreecommitdiffstats
path: root/lang/imp-interpreter
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2006-08-18 05:16:30 +0800
committermiwi <miwi@FreeBSD.org>2006-08-18 05:16:30 +0800
commit6a4a1a63813d27ead995770112371ac7598c8d93 (patch)
tree8a423706b37063a87c6f461052f1a89e647c9a2e /lang/imp-interpreter
parentf98883a1075015bfc93ec5f7cbcd52fa5d728f0f (diff)
downloadfreebsd-ports-gnome-6a4a1a63813d27ead995770112371ac7598c8d93.tar.gz
freebsd-ports-gnome-6a4a1a63813d27ead995770112371ac7598c8d93.tar.zst
freebsd-ports-gnome-6a4a1a63813d27ead995770112371ac7598c8d93.zip
IMP is a monadic style implementation of the semantics of the (very simple)
language IMP, "plain" the implementation with explicit passing of state. The semantics of the IMP-language is presented in the book: "The Formal Semantics of Programming Languages" by Glynn Winskel (1993, The MIT Press). for more details on monads, see Philip Wadler's page on: http://cm.bell-labs.com/cm/cs/who/wadler/topics/monads.html#combining-monads Author: Markus Mottl <markus.mottl@gmail.com> WWW: http://www.ocaml.info/home/ocaml_sources.html PR: ports/102103 Submitted by: Stanislav Sedov <ssedov@mbsd.msk.ru> Approved by: krion (mentor)
Diffstat (limited to 'lang/imp-interpreter')
-rw-r--r--lang/imp-interpreter/Makefile43
-rw-r--r--lang/imp-interpreter/distinfo3
-rw-r--r--lang/imp-interpreter/pkg-descr14
3 files changed, 60 insertions, 0 deletions
diff --git a/lang/imp-interpreter/Makefile b/lang/imp-interpreter/Makefile
new file mode 100644
index 000000000000..7116910ee599
--- /dev/null
+++ b/lang/imp-interpreter/Makefile
@@ -0,0 +1,43 @@
+# New ports collection makefile for: imp-interpreter
+# Date created: 2006-08-15
+# Whom: Stanislav Sedov <ssedov@mbsd.msk.ru>
+#
+# $MBSDlabs$
+# $FreeBSD$
+#
+
+PORTNAME= IMP
+PORTVERSION= 1.0.6
+CATEGORIES= lang
+MASTER_SITES= http://www.ocaml.info/ocaml_sources/
+
+MAINTAINER= ssedov@mbsd.msk.ru
+COMMENT= Monadic interpreter of a simple imperative language
+
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_OCAML= yes
+NO_OCAML_RUNDEPENDS= yes
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/monad
+ALL_TARGET= nc
+
+PLIST_FILES= bin/IMP
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= README
+.endif
+
+.include <bsd.port.pre.mk>
+.include "${PORTSDIR}/lang/ocaml/bsd.ocaml.mk"
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/main ${TARGETDIR}/bin/IMP
+
+post-install:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/../,} ${DOCSDIR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/lang/imp-interpreter/distinfo b/lang/imp-interpreter/distinfo
new file mode 100644
index 000000000000..ee7874c84842
--- /dev/null
+++ b/lang/imp-interpreter/distinfo
@@ -0,0 +1,3 @@
+MD5 (IMP-1.0.6.tar.bz2) = 9807e6fd483f0d258de58f89522d5e99
+SHA256 (IMP-1.0.6.tar.bz2) = 0c9e7c6744a15d2b74ba41eb6a389dddc601325592bf1be19b3a25088e45e761
+SIZE (IMP-1.0.6.tar.bz2) = 10608
diff --git a/lang/imp-interpreter/pkg-descr b/lang/imp-interpreter/pkg-descr
new file mode 100644
index 000000000000..e5b8c0c793b2
--- /dev/null
+++ b/lang/imp-interpreter/pkg-descr
@@ -0,0 +1,14 @@
+IMP is a monadic style implementation of the semantics of the (very simple)
+language IMP, "plain" the implementation with explicit passing of state.
+
+The semantics of the IMP-language is presented in the book:
+
+ "The Formal Semantics of Programming Languages" by Glynn Winskel
+ (1993, The MIT Press).
+
+For more details on monads, see Philip Wadler's page on:
+
+ http://cm.bell-labs.com/cm/cs/who/wadler/topics/monads.html#combining-monads
+
+Author: Markus Mottl <markus.mottl@gmail.com>
+WWW: http://www.ocaml.info/home/ocaml_sources.html