feat: unix adaptor for elm called starmelon
Introduce starmelon, a program for executing elm functions with input from files and writing the output back to files. Support evaluating 4 types of values and 12 types of functions. ```elm x : String x : Bytes x : VirtualDom.Node msg x : Json.Encode.Value f : String -> String f : String -> Bytes f : String -> VirtualDom.Node msg f : String -> Json.Encode.Value f : Bytes -> String f : Bytes -> Bytes f : Bytes -> VirtualDom.Node msg f : Bytes -> Json.Encode.Value f : Json.Encode.Value -> String f : Json.Encode.Value -> Bytes f : Json.Encode.Value -> VirtualDom.Node msg f : Json.Encode.Value -> Json.Encode.Value ``` My target use case for starmelon is generating html files. It is nice to be able to write parameterized framgents of markup in multiple modules and then compose them into a final value. I also have in mind attempting to replace helm (kubernetes pacakge manager) because I hate how error prone its string based templating language is.
This commit is contained in:
commit
f7aff7585d
8 changed files with 1356 additions and 0 deletions
14
examples/single-page/src/Foo/Main.elm
Normal file
14
examples/single-page/src/Foo/Main.elm
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
module Foo.Main exposing (view)
|
||||
|
||||
import Html exposing (Html, div, text)
|
||||
import Array exposing (Array)
|
||||
|
||||
type alias Model =
|
||||
{ a : Int
|
||||
, b : Array Int
|
||||
}
|
||||
|
||||
view : Model -> Html msg
|
||||
view model =
|
||||
div []
|
||||
[ text "Hello world" ]
|
||||
19
examples/single-page/src/Main.elm
Normal file
19
examples/single-page/src/Main.elm
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
module Main exposing (view, view2)
|
||||
|
||||
import Html exposing (Html, div, text)
|
||||
import Svg exposing (Svg, svg)
|
||||
import Array exposing (Array)
|
||||
|
||||
type alias Model =
|
||||
{ a : Int
|
||||
, b : Array Int
|
||||
}
|
||||
|
||||
view2 : String -> Svg msg
|
||||
view2 model =
|
||||
svg [] []
|
||||
|
||||
view : String -> Html msg
|
||||
view model =
|
||||
div []
|
||||
[ text <| "Hello world" ++ model ]
|
||||
6
examples/single-page/src/lib.rs
Normal file
6
examples/single-page/src/lib.rs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#![crate_type = "dylib"]
|
||||
|
||||
#[no_mangle]
|
||||
pub fn foobar() -> i32 {
|
||||
42
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue