Here is an essay version of my class notes from Class 1 of CS183: Startup. Errors and omissions are my own. Credit for good stuff is Peter’s entirely.
CS183: Startup—Notes Essay—The Challenge of the Future
Purpose and Preamble
Here is an essay version of my class notes from Class 1 of CS183: Startup. Errors and omissions are my own. Credit for good stuff is Peter’s entirely.
CS183: Startup—Notes Essay—The Challenge of the Future
Purpose and Preamble
$ make -j10 tests | |
test/check_name_clashes.sh | |
mkdir -p "test_data" | |
erlc +debug_info -o test_data test/known_problems/should_fail/arith_op.erl test/known_problems/should_fail/exhaustive_argumentwise.erl test/known_problems/should_fail/exhaustive_map_variants.erl test/known_problems/should_fail/exhaustive_remote_map_variants.erl test/known_problems/should_fail/guard_should_fail.erl test/known_problems/should_fail/infer_any_pattern.erl test/known_problems/should_fail/intersection_with_any_should_fail.erl test/known_problems/should_fail/lambda_wrong_args.erl test/known_problems/should_fail/map_refinement_fancy.erl test/known_problems/should_fail/poly_lists_map_should_fail.erl test/known_problems/should_fail/refine_ty_vars.erl test/known_problems/should_fail/rigid_type_variables_fail.erl test/known_problems/should_fail/sample.erl test/known_problems/should_fail/tuple_union_arg.erl test/known_problems/should_pass/any_doesnt_have_type_none_should_pass.erl test/known_problems/should_pass/arith_op_arg_types.erl test/kn |
$ make -j10 tests | |
test/check_name_clashes.sh | |
mkdir -p "test_data" | |
erlc +debug_info -o test_data test/known_problems/should_fail/arith_op.erl test/known_problems/should_fail/exhaustive_argumentwise.erl test/known_problems/should_fail/exhaustive_map_variants.erl test/known_problems/should_fail/exhaustive_remote_map_variants.erl test/known_problems/should_fail/guard_should_fail.erl test/known_problems/should_fail/infer_any_pattern.erl test/known_problems/should_fail/intersection_with_any_should_fail.erl test/known_problems/should_fail/lambda_wrong_args.erl test/known_problems/should_fail/map_refinement_fancy.erl test/known_problems/should_fail/poly_lists_map_should_fail.erl test/known_problems/should_fail/refine_ty_vars.erl test/known_problems/should_fail/rigid_type_variables_fail.erl test/known_problems/should_fail/sample.erl test/known_problems/should_fail/tuple_union_arg.erl test/known_problems/should_pass/any_doesnt_have_type_none_should_pass.erl test/known_problems/should_pass/arith_op_arg_types.erl test/kn |
*.beam | |
*.erltypes |
Gradualizer v0.1.3-150-gef2dbb7 | |
_build/default/lib/aoc_erlang/ebin//aoc2019_day03.beam: Nonexhaustive patterns on line 35 at column 1 | |
Example values which are not covered: | |
[] | |
_build/default/lib/aoc_erlang/ebin//aoc2019_day03.beam: The function call on line 62 at column 9 is expected to have type [35m[T, ...][0m but it has type [35m[B][0m | |
map_smallest(Fun, List) -> | |
lists:min([36mlists:map(Fun, List)[0m). | |
[36m^^^^^^^^^^^^^^^^^^^^[0m |
FROM vectorized/redpanda:v21.10.2 | |
USER root | |
RUN apt-get update \ | |
&& apt-get install -y build-essential gcc g++ libcap2-bin \ | |
&& apt-get clean \ | |
&& rm -rf /var/cache/apt/archives | |
COPY sched.cc sched.cc |
Let's set the stage - we have a project with a source file under a subdir of src/
.
When we compile it the first time, everything looks good - the code returns the value
defined by the macro:
$ cd /tmp
$ git clone https://github.com/erszcz/rebar_src_not_recompiled.git src_not_recompiled
$ cd src_not_recompiled
$ rg -C1 MACRO src/
src/subdir/m.erl
Last login: Tue Mar 30 17:45:28 on ttys027 | |
11:13:23 erszcz @ x6 : ~ | |
$ cd work/josefs/gradualizer/ | |
11:13:49 erszcz @ x6 : ~/work/josefs/gradualizer (record-field-zip-fix) | |
$ asdf local erlang 24.0-rc1 | |
11:14:13 erszcz @ x6 : ~/work/josefs/gradualizer (record-field-zip-fix %) | |
$ cat > rebar.config | |
{edoc_opts, [{doclet, edoc_doclet_chunks}, | |
> {layout, edoc_layout_chunks}, | |
> {preprocess, true}, |
These are tests results of running EDoc from erlang/otp#2803 over all OTP and more than 20 top Hex.pm Erlang libraries.
See https://github.com/erszcz/non-otp-libraries and https://github.com/erszcz/otp/blob/edoc-chunk-support/lib/edoc/test/test_libs.sh for the tools.
Use test_libs.sh
like this - see the script for more details:
VERBOSE=no LIB_DIR=/Users/erszcz/work/erlang/non-otp-libraries/_build/default/lib ERL_LIBS=/Users/erszcz/work/erlang/non-otp-libraries/_build/default/lib ERL_TOP=/Users/erszcz/work/erlang/otp EDOC=~/work/erlang/build.otp/lib/erlang/lib/edoc-0.12/bin/edoc ./test/test_libs.sh | tee non-otp-libs.log
diff --git a/lib/rtp_h264/nal_formats/fu.ex b/lib/rtp_h264/nal_formats/fu.ex | |
index 873cf26..3811210 100644 | |
--- a/lib/rtp_h264/nal_formats/fu.ex | |
+++ b/lib/rtp_h264/nal_formats/fu.ex | |
@@ -29,12 +29,25 @@ defmodule Membrane.Element.RTP.H264.FU do | |
| {:error, :packet_malformed | :invalid_first_packet} | |
| {:incomplete, t()} | |
def parse(data, seq_num, acc) do | |
- # actual code | |
- data |