News for hackers. Stuff that matters.
Re:Viability of Unpopular Programming Languages (2018) by TurboHaskal on Thursday April 02, 2020 @02:49AM (#22756794)
I actually don't personally know a single researcher using Haskell, unless you mean PL research, in which case I'd even say that Haskell isn't much of a hot topic these days.
Re:Viability of Unpopular Programming Languages (2018) by DonHopkins on Thursday April 02, 2020 @03:08AM (#22756875)
James Clark used Haskell to design and implement an algorithm for validating Relax NG XML schemas (he co-designed Relax NG, and designed its predecessor TREX), to work the ideas out before re-implementing it in (many many more lines of tedious brittle) Java (JING). Haskel works wonderfully as a design and standard definition language, that way.

https://en.wikipedia.org/wiki/James_Clark_(programmer)

https://www.drdobbs.com/a-triumph-of-simplicity-james-clark-...

http://xml.coverpages.org/ni2002-02-14-c.html

https://news.ycombinator.com/item?id=14154049

DonHopkins on Apr 20, 2017 | parent | favorite | on: What programming languages are used late at night?

I got some insight into what's great about Haskell by reading James Clark's "An algorithm for RELAX NG validation":

http://www.thaiopensource.com/download/old/relaxng/20020531/...

>This document describes an algorithm for validating an XML document against a RELAX NG schema. This algorithm is based on the idea of what's called a derivative (sometimes called a residual). It is not the only possible algorithm for RELAX NG validation. This document does not describe any algorithms for transforming a RELAX NG schema into simplified form, nor for determining whether a RELAX NG schema is correct.

>We use Haskell to describe the algorithm. Do not worry if you don't know Haskell; we use only a tiny subset which should be easily understandable.

Text.XML.HXT.RelaxNG.Validation

http://hackage.haskell.org/package/hxt-relaxng-9.1.5.5/docs/...

>Validation of a XML document with respect to a valid Relax NG schema in simple form. Copied and modified from "An algorithm for RELAX NG validation" by James Clark.

Clark Updates Jing - A RELAX NG Validator in Java.

http://xml.coverpages.org/ni2002-02-14-c.html

>James Clark has announced a new version of Jing with significant changes and revised documentation. Jing version '2002-02-13' implements the final RELAX NG 1.0 Specification and also implements parts of RELAX NG DTD Compatibility, specifically checking of ID/IDREF/IDREFS. James has "almost completely rewritten the validator using an improved algorithm. In the old algorithm, the state of the validation was represented by a stack of sets of patterns; in the new algorithm, the state is represented by a single pattern... The new release includes a documented API for Jing; in fact there are two APIs, a native API and JARV. James has rewritten the description of derivative-based validation to correspond to what's been implemented and to incorporate feedback received on the previous version from Murata-san and Kawaguchi-san... The Jing implementation is available for download as a JAR file and as a Win32 executable for use with the Microsoft Java VM.