Merge branch 'dev' of gitlab.com:ligolang/ligo into rinderknecht@pprint
This commit is contained in:
commit
b97d2d4000
@ -1,7 +1,8 @@
|
||||
{ dockerTools, writeShellScriptBin, runCommand, mcpp, bash, coreutils, ligo, name ? "ligo" }:
|
||||
{ dockerTools, writeShellScriptBin, runCommand, mcpp, bash, coreutils, ligo
|
||||
, name ? "ligo", extraContents ? [ ] }:
|
||||
dockerTools.buildLayeredImage {
|
||||
inherit name;
|
||||
tag = "latest";
|
||||
contents = [ ligo bash ];
|
||||
contents = [ ligo bash ] ++ extraContents;
|
||||
config.Entrypoint = name;
|
||||
}
|
||||
|
@ -20,6 +20,9 @@ let
|
||||
pkgs.runCommandNoCC "${pkg.name}-bin" { }
|
||||
"mkdir -p $out/bin; cp -Lr ${pkg}/ligo $out/bin";
|
||||
|
||||
|
||||
tmp = pkgs.runCommandNoCC "tmpdir" { } "mkdir -p $out/tmp";
|
||||
|
||||
in pkgs.extend (self: super: {
|
||||
inherit (self.ocamlPackages) ligo ligo-out ligo-tests ligo-doc ligo-coverage;
|
||||
ligo-bin = separateBinary self.ligo-out.bin;
|
||||
@ -29,6 +32,7 @@ in pkgs.extend (self: super: {
|
||||
ligo-editor-docker = self.callPackage ./docker.nix {
|
||||
ligo = self.ligo-editor;
|
||||
name = "ligo-editor";
|
||||
extraContents = [ tmp ];
|
||||
};
|
||||
ligo-website = self.callPackage ./ligo-website.nix {
|
||||
inherit (nix-npm-buildpackage) buildNpmPackage;
|
||||
|
@ -338,7 +338,7 @@ let rec compile_expression :
|
||||
let (p , loc) = r_split p in
|
||||
let var =
|
||||
let name = Var.of_name p.struct_name.value in
|
||||
e_variable name in
|
||||
e_variable ~loc name in
|
||||
let path = p.field_path in
|
||||
let path' =
|
||||
let aux (s:Raw.selection) =
|
||||
@ -532,7 +532,7 @@ let rec compile_expression :
|
||||
| EBytes x ->
|
||||
let (x , loc) = r_split x in
|
||||
return @@ e_literal ~loc (Literal_bytes (Hex.to_bytes @@ snd x))
|
||||
| ETuple tpl -> compile_tuple_expression @@ (npseq_to_list tpl.value)
|
||||
| ETuple tpl -> compile_tuple_expression ~loc:(Location.lift tpl.region) @@ (npseq_to_list tpl.value)
|
||||
| ERecord r ->
|
||||
let (r , loc) = r_split r in
|
||||
let%bind fields = bind_list
|
||||
|
@ -45,14 +45,13 @@ module Errors = struct
|
||||
] in
|
||||
error ~data title message ()
|
||||
|
||||
let unbound_variable (e:environment) (n:I.expression_variable) (loc:Location.t) () =
|
||||
let unbound_variable (e:environment) (n:I.expression_variable) () =
|
||||
let name () = Format.asprintf "%a" I.PP.expression_variable n in
|
||||
let title = (thunk ("unbound variable "^(name ()))) in
|
||||
let message () = "" in
|
||||
let data = [
|
||||
("variable" , name) ;
|
||||
("environment" , fun () -> Format.asprintf "%a" Environment.PP.environment e) ;
|
||||
("location" , fun () -> Format.asprintf "%a" Location.pp loc)
|
||||
] in
|
||||
error ~data title message ()
|
||||
|
||||
@ -698,7 +697,7 @@ and type_expression' : environment -> ?tv_opt:O.type_expression -> I.expression
|
||||
(* Basic *)
|
||||
| E_variable name ->
|
||||
let%bind tv' =
|
||||
trace_option (unbound_variable e name ae.location)
|
||||
trace_option (unbound_variable e name)
|
||||
@@ Environment.get_opt name e in
|
||||
return (E_variable name) tv'.type_value
|
||||
| E_literal Literal_unit ->
|
||||
|
Loading…
Reference in New Issue
Block a user