all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Proposed new core library: pl.el
@ 2015-11-05  2:14 John Wiegley
  2015-11-05  2:22 ` Dmitry Gutov
  2015-11-05 20:19 ` Ted Zlatanov
  0 siblings, 2 replies; 51+ messages in thread
From: John Wiegley @ 2015-11-05  2:14 UTC (permalink / raw)
  To: emacs-devel; +Cc: Ted Zlatanov

pl.el (standing for "parser library") is a combinator parsing library for
Emacs, similar to Haskell's Parsec. You can see how it works at the following
README:

    https://github.com/jwiegley/emacs-pl

PL offers a way to write very compact parsers of structured text. For example
(from the README):

  (pl-parse
    (delete-region (pl-str "<xml>" :beg)
                   (pl-until
                     (pl-str "</xml>" :end))))

The idea being applicative parsers is that the result of `pl-parse' is the
FORM you pass in, where every sub-parser becomes a value of the type you
intended to parse. If a sub-parse fails, either the whole parse fails, or it
returns nil if you wrap the parser in `pl-try'.

There is room for improving performance, but the API is complete enough to
start using it. Giving the unproven status, though, perhaps it should start
out in ELPA, and move to core after it has solidified and gained some users?

John



^ permalink raw reply	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2015-11-11 18:38 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-05  2:14 Proposed new core library: pl.el John Wiegley
2015-11-05  2:22 ` Dmitry Gutov
2015-11-05  2:41   ` ELPA policy (was: Proposed new core library: pl.el) John Wiegley
2015-11-05  3:00     ` ELPA policy Dmitry Gutov
2015-11-05  9:08       ` Artur Malabarba
2015-11-05 12:51       ` Michael Welsh Duggan
2015-11-05 13:49         ` Dmitry Gutov
2015-11-05 14:41           ` Michael Welsh Duggan
2015-11-05 15:09           ` John Wiegley
2015-11-05 15:40             ` Dmitry Gutov
2015-11-05 16:58               ` Artur Malabarba
2015-11-05 17:45                 ` Dmitry Gutov
2015-11-06 21:37             ` Richard Stallman
2015-11-08 16:30               ` John Wiegley
2015-11-08 17:11                 ` Eli Zaretskii
2015-11-08 18:00                   ` Wolfgang Jenkner
2015-11-08 18:20                     ` Eli Zaretskii
2015-11-09  0:53                       ` Wolfgang Jenkner
2015-11-08 18:26                   ` Óscar Fuentes
2015-11-08 18:31                     ` Eli Zaretskii
2015-11-08 19:27                   ` Artur Malabarba
2015-11-08 18:33                     ` Eli Zaretskii
2015-11-08 20:04                       ` Artur Malabarba
2015-11-08 19:58                         ` Eli Zaretskii
2015-11-08 20:10                           ` Dmitry Gutov
2015-11-08 20:26                             ` Eli Zaretskii
2015-11-08 20:36                               ` Dmitry Gutov
2015-11-08 20:47                                 ` Eli Zaretskii
2015-11-08 23:16                             ` Richard Stallman
2015-11-09  1:45                               ` Dmitry Gutov
2015-11-09  2:59                                 ` Yuri Khan
2015-11-08 19:55                 ` Artur Malabarba
2015-11-09  9:25                 ` Stephen Leake
2015-11-05  7:13     ` David Kastrup
2015-11-05  9:19   ` Proposed new core library: pl.el Artur Malabarba
2015-11-05 20:19 ` Ted Zlatanov
2015-11-05 23:54   ` Artur Malabarba
2015-11-06 15:35     ` Ted Zlatanov
2015-11-08 20:54       ` Ted Zlatanov
2015-11-08 22:31         ` Artur Malabarba
2015-11-09 22:02         ` John Wiegley
2015-11-09 23:14           ` Artur Malabarba
2015-11-09 23:18             ` John Wiegley
2015-11-10  1:45               ` Ted Zlatanov
2015-11-11 14:51                 ` Ted Zlatanov
2015-11-11 15:08                   ` Nicolas Petton
2015-11-11 15:28                     ` Ted Zlatanov
2015-11-11 17:27                       ` Artur Malabarba
2015-11-11 17:38                         ` Artur Malabarba
2015-11-11 18:38                       ` Ted Zlatanov
2015-11-11 17:03                     ` Richard Stallman

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.