nowdoc: Here document without variable expansion like PHP Nowdoc

[ bsd3, library, text ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/YoshikuniJujo/nowdoc#readme


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.1.0
Change log ChangeLog.md
Dependencies base (>=4.8 && <5), bytestring, template-haskell [details]
License BSD-3-Clause
Copyright 2018 Yoshikuni Jujo
Author Yoshikuni Jujo
Maintainer PAF01143@nifty.ne.jp
Revised Revision 1 made by HerbertValerioRiedel at 2018-10-01T16:24:20Z
Category Text
Home page https://github.com/YoshikuniJujo/nowdoc#readme
Bug tracker https://github.com/YoshikuniJujo/nowdoc/issues
Source repo head: git clone https://github.com/YoshikuniJujo/nowdoc
Uploaded by YoshikuniJujo at 2018-09-06T06:14:24Z
Distributions LTSHaskell:0.1.1.0, NixOS:0.1.1.0, Stackage:0.1.1.0
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3145 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-09-06 [all 1 reports]

Readme for nowdoc-0.1.1.0

[back to package description]

nowdoc

Package nowdoc contain 3 QuasiQuotes.

  • nowdoc: Simplest here document with only two transformation.
  • txtfile: It incerts text file contents as string.
  • binfile: It incerts binary file contents as string.

QuasiQuoter nowdoc

Simplest here document. Only two transformation.

  • remove head newline if exist
  • remove one space from '|', space, space, ..., ']'

short examples

hello = [nowdoc|
abc
def
ghi
|]

is

hello = "abc\ndef\nghi\n"

,

hello = [nowdoc|hello|]

is

hello = "hello"

and

hello = [nowdoc|
hello | ]
world |  ]
! |   ]
|]

is

hello = "hello |]\nworld| ]\n! |  ]"

run perl

{-# LANGUAGE QuasiQuotes #-}

import System.Process
import Text.Nowdoc

main :: IO ()
main = () <$ rawSystem "perl" ["-e", [nowdoc|
use strict;
use warnings;

my $hello = "Hello, world!\n";
print $hello;
|]]

ASCII art

{-# LANGUAGE QuasiQuotes #-}

import Text.Nowdoc

main :: IO ()
main = putStr [nowdoc|
            ______             
       .d$$$******$$$$c.       
    .d$P"            "$$c      
   $$$$$.           .$$$*$.    
 .$$ 4$L*$$.     .$$Pd$  '$b   
 $F   *$. "$$e.e$$" 4$F   ^$b  
d$     $$   z$$$e   $$     '$. 
$P     `$L$$P` `"$$d$"      $$ 
$$     e$$F       4$$b.     $$ 
$b  .$$" $$      .$$ "4$b.  $$ 
$$e$P"    $b     d$`    "$$c$F 
'$P$$$$$$$$$$$$$$$$$$$$$$$$$$  
 "$c.      4$.  $$       .$$   
  ^$$.      $$ d$"      d$P    
    "$$c.   `$b$F    .d$P"     
      `4$$$c.$$$..e$$P"        
          `^^^^^^^`
|]

QuasiQuoter txtfile

It incerts file contents as string without transformation. It read file as text file (with default encoding on your system).

main :: IO ()
main = putStr [txtfile|foo.txt|]

QuasiQuoter binfile

It incerts file contents as string without transformation. It read file as binary file.

main :: IO ()
main = print [binfile|foo.dat|]