Skip to content

Comment on Egison – Pattern-matching-oriented Programming Languageparent

Comments

This looks super interesting, thanks for including so many demos and docs. I'm pretty new to PL theory, but was recently reading about OMeta - another "language for pattern matching". For example, here's a png parser in OMeta.[1]

Maybe you could help me understand how Egison compares to OMeta? thanks.

1. http://www.joshondesign.com/2013/03/18/ConciseComputing

I read a slide on OMeta. http://tinlizzie.org/ometa/dls07-slides.pdf Its pattern matching is specialized in expressing pattern matching against lists and trees. Egison aims intuitive expression for a wider range of data types and provide non-linear pattern matching with multiple results on a functional language. Please check a cheat sheet and demo pages on our website. We can get its concepts easily from them. http://www.egison.org/cheatsheet.html http://www.egison.org/demonstrations/poker-hands.html

Thanks. It looks to me like Egison is focused on pattern matching of data. While OMeta is focused on pattern matching of syntax (so is used to create and extend new languages/DSLs). Is that a fair comparison?

How does the Egison online evaluator work? Server-side haskell or the ruby extension?

Any plans for a javascript extension?

What you wrote is what I wanted to write. We call the Egison command on the server limiting code with side-effects via an API server implemeted in Ruby. All source code on Egison including its website is on GitHub. Please check them, too. https://github.com/egison I’m not planning a javascript extension for now, though I’d like it.

Oh, your markdown-editor looks really shiny... have you since given up working with ometa? For some reason it never occurred to me that ometajs and nodejs might be a great match until I read your (entirely client side) stuff ... I guess I just needed the right context to make the connection.

The more I think about it, the ability to create ones own language and execute on the server or on the client as one sees fit, seems like a really nice match. And all without having to do something "heavy handed" like clojurescript or other "overt" compile-to-js stuff...

Hm, and here I thought I'd given up on nodejs, and was ready to move on to other server side languages ;-)

Writing a custom markdown DSL that can live-preview in the editing client, and render to static html on the server for high volume, low-overhead hosting sounds kind of appealing... (There are of course many ways to do this, but the idea of a single, concise grammar and rendering engine is very appealing....).

Oh, your markdown-editor looks really shiny... have you since given up working with ometa?

That's not me, its somebody else's blog. I only discovered ometa a couple months ago. I'm looking forward to trying it for a project soon, but the documentation I've found is pretty scattered. Here's a decent tutorial though: https://github.com/rulemotion/ometa-tuts/blob/master/tut1.md

Thanks for that. Yes, I'm a little sad a lot of the VRI stuff has a bit of "abandonware" feel -- I suppose they view it at just some (half-silly) proof-of-concept code, but I think a lot of this stuff could be really useful right now.

I really wish they'd taken the time to package it up, and license it under some Free licence -- I'd hate for this stuff that doesn't seem to require anything in the way of special hardware -- languish and disappear in a similar way to Smalltalk -- for no good reason.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.