[Haskell-cafe] [ANNOUNCE] Fmark markup language

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Tue Sep 18 14:18:34 CEST 2012

On 18 September 2012 21:53, José Lopes <jose.lopes at ist.utl.pt> wrote:
> Hello Ivan,
> I agree with your point: if you want a heading that ends with a punctuation
> sign then you cannot do it in Fmark (for now). That gives me something to
> think about. However, I will still look for a way that avoids (as much as
> possible) special syntax. Do you have any suggestion?
> I also agree with you on the "natural" conventions. I want to find a good
> tradeoff between syntax and expressiveness. In other words, I want to
> avoid as much those "odd choices" you mentioned. For example, I have
> been thinking seriously about emphasis and what would be a good way
> to do it. So far I could only come up with quotes (either " or '). What do
> you think?

I think that _emphasis_ is pretty "natural", as is *bold* and possibly

But you _are_ adding in some aspects of markup now.

Using quotes is bad because what happens if you're actually quoting someone? ;-)

> Cheers,
> José
> On 18-09-2012 06:05, Ivan Lazar Miljenovic wrote:
>> On 18 September 2012 13:57, José Lopes <jose.lopes at ist.utl.pt> wrote:
>>> Hello Kris,
>>> Thank you for your email.
>>> At this moment, Fmark is not as powerful as Markdown, also because Fmark
>>> just started.
>>> Markdown offers things such as Blockquotes, Lists, Code blocks, links,
>>> emphasis, images, etc.
>>> Fmark does not offer as many features: for now, there are only
>>> paragraphs,
>>> headings,
>>> subsections (endless nesting) and footnotes. In the near future, I want
>>> to
>>> bolds/italics,
>>> ordered and unordered lists, links, and later on as many elements as
>>> possible :)
>>> The problem with Fmark is also its greatest feature. While other markup
>>> languages
>>> introduce special syntactic characters to give meaning to the document's
>>> elements,
>>> I would like to take a different approach: I want to use characters that
>>> people already
>>> use in document writing to achieve the same result. For example, in
>>> Mediawiki a
>>> heading is some text surrounded by equal signs. But in Fmark a heading is
>>> simply some
>>> text that does not end in a punctuation character, such as period or an
>>> exclamation mark.
>>> I argue that this is a more "natural" approach.
>> Is it possible to override this?  What happens if I want a heading of
>> "This is the greatest Heading Ever!!!!!" ?
>> "Natural" conventions seem to be to be rather hacky and with lots of
>> corner cases; I think it's better to define a specific syntax for
>> markup (e.g. what is the "natural" way of emphasising text?) and stick
>> to it (though I agree that Markdown has some odd choices; in
>> particular, the ability to use both _ and * for italics whilst
>> requiring ** for bold).
>>> I want to find a natural way of not burdening the user with the task of
>>> having to learn
>>> some special syntax in order to write a document. Instead I want to find
>>> "natural" ways
>>> of writing and use those ways to reconstruct the elements in a document.
>>> Of
>>> course,
>>> what is natural is subjective and that is why I want to find a good
>>> tradeoff
>>> between
>>> expressiveness and simplicity in the syntax. For example, in Fmark a
>>> footnote is some
>>> text surrounded by square brackets. Maybe you find this natural, maybe
>>> you
>>> don't. If a
>>> handful of people defend a more natural way of writing footnotes I want
>>> to
>>> implement
>>> the way they say. If there is a more natural way of doing this I want to
>>> find it. But for now
>>> I think square brackets are better than the equal signs or any other
>>> strange
>>> syntactic
>>> character such as exclamation marks and so on...
>>> Another thing about Fmark is styles. I want to use fmark personally to
>>> write
>>> papers, using
>>> Latex as backend. While experimenting with previous versions of Fmark I
>>> realized that I
>>> could not specify the title, the author, the date, and the abstract.
>>> which
>>> are essential in a
>>> paper. I came up with an idea which I think is quite interesting. I wrote
>>> another document
>>> also using Fmark which only had the words "Title", "Author", "Date", and
>>> "Abstract". And
>>> then I combined these two documents together, such that, Fmark associated
>>> title, author,
>>> date and abstract, with the corresponding content. I thought the idea was
>>> interesting
>>> because the content and style documents have both the same structure and
>>> are
>>> both
>>> written in Fmark. Of course, there is still a long way to go, in order to
>>> be
>>> able to fully
>>> customize a document.
>>> But styles are a good and simple approach, similar to document classes in
>>> Latex: the idea is
>>> to write one document (content) and then use multiple (predefined, user
>>> defined) styles, such
>>> as, article, report, etc, to stylize your document. Another interesting
>>> thing I have been thinking
>>> about (but not implemented yet) is recursion in document styling. In a
>>> way,
>>> weaving a style
>>> with content can be compared to matching a regular expression.
>>> Anyway, these are just some key ideas. I see Fmark as a work in progress
>>> and
>>> in a way as a
>>> research project, trying to find a natural way of writing documents while
>>> escaping as much
>>> as possible from the syntax of a programming language. I also have a
>>> metagoal with this
>>> project: if my father (the non programming guy) could use it to write his
>>> PhD dissertation,
>>> I would be quite happy :)
>>> If you have any more questions I would be happy to answer.
>>> But if you're interested in using markup languages for blogs perhaps a
>>> HTML
>>> backend
>>> in Fmark would be more interesting for you. Although, XML + JavaScript +
>>> CSS
>>> is also possible.
>>> Best regards,
>>> José
>>> On 18-09-2012 04:25, Kristopher Micinski wrote:
>>>> Jose,
>>>> So I'm interested to hear you opinion on this as well...
>>>> I use Pandoc with Markdown through Hakyll, which allows you to do a
>>>> fair amount of cute things that are just really helpful for
>>>> maintaining a blog (for example..).  But I didn't get this from
>>>> reading your github readme: what makes your markup language special?
>>>> Could you give an example of how the language is more expressive than
>>>> (say) markdown processed through Pandoc (I only mention because it
>>>> lets you process LaTeX, very helpful, right...) or something
>>>> comparable?
>>>> kris
>>>> On Mon, Sep 17, 2012 at 11:09 PM, José Lopes <jose.lopes at ist.utl.pt>
>>>> wrote:
>>>>> Hello everyone,
>>>>> I just wanted to share a package I created called Fmark, now available
>>>>> on HackageDB.
>>>>> Feedback both on the project and on the code is greatly appreciated :)
>>>>> Fmark (Friendly Markup) is a very simple markup language without
>>>>> syntax and simple but sophisticated document styling, capable of
>>>>> producing PDF and XML files.
>>>>> The key philosophy behind this markup language is to eliminate the
>>>>> strange syntactic characters seen in most markup languages, but
>>>>> at the same time try to maintain a high level of expressiveness, using
>>>>> only document reconstruction.
>>>>> Check it out
>>>>> http://hackage.haskell.org/package/fmark
>>>>> https://github.com/jabolopes/fmark
>>>>> Best regards,
>>>>> José
>>>>> --
>>>>> José António Branquinho de Oliveira Lopes
>>>>> 58612 - MEIC-A
>>>>> Instituto Superior Técnico (IST), Universidade Técnica de Lisboa (UTL)
>>>>> jose.lopes at ist.utl.pt
>>>>> _______________________________________________
>>>>> Haskell-Cafe mailing list
>>>>> Haskell-Cafe at haskell.org
>>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>> --
>>> José António Branquinho de Oliveira Lopes
>>> Instituto Superior Técnico
>>> Technical University of Lisbon
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> Haskell-Cafe at haskell.org
>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
> --
> José António Branquinho de Oliveira Lopes
> Instituto Superior Técnico
> Technical University of Lisbon

Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com

More information about the Haskell-Cafe mailing list