Bläddra i källkod

better errors and cleanp

master
Felix Brendel 6 år sedan
förälder
incheckning
0d77893a90
40 ändrade filer med 511 tillägg och 884792 borttagningar
  1. +2
    -0
      .gitignore
  2. +1
    -1
      .gitmodules
  3. +1
    -0
      3rd/ftb
  4. +0
    -97930
      bin/profiler_reports/25.09.2019-20.43.14-1943576608960-profiler.report
  5. +0
    -98020
      bin/profiler_reports/25.09.2019-21.02.40-1596543500480-profiler.report
  6. +0
    -98006
      bin/profiler_reports/25.09.2019-21.03.22-1534786502848-profiler.report
  7. +0
    -98022
      bin/profiler_reports/25.09.2019-21.05.09-2274370814144-profiler.report
  8. +0
    -98022
      bin/profiler_reports/25.09.2019-21.06.09-2665877176512-profiler.report
  9. +0
    -98030
      bin/profiler_reports/25.09.2019-21.06.52-2336845955264-profiler.report
  10. +0
    -98030
      bin/profiler_reports/25.09.2019-21.07.49-1923198386368-profiler.report
  11. +0
    -98040
      bin/profiler_reports/25.09.2019-21.08.19-2343885635776-profiler.report
  12. +0
    -98042
      bin/profiler_reports/25.09.2019-21.08.36-1757451223232-profiler.report
  13. +0
    -1054
      bin/profiler_reports/25.09.2019-21.11.16-1310582210752-profiler.report
  14. +0
    -670
      bin/profiler_reports/25.09.2019-21.11.29-1391452913856-profiler.report
  15. +0
    -670
      bin/profiler_reports/25.09.2019-21.11.43-2094049493184-profiler.report
  16. +22
    -3
      build.sh
  17. +231
    -0
      include/libslime.h
  18. +1
    -1
      src/assert.hpp
  19. +7
    -8
      src/built_ins.cpp
  20. +35
    -19
      src/define_macros.hpp
  21. +0
    -11
      src/defines.cpp
  22. +5
    -5
      src/env.cpp
  23. +16
    -9
      src/error.cpp
  24. +6
    -6
      src/eval.cpp
  25. +5
    -5
      src/forward_decls.cpp
  26. +0
    -1
      src/ftb
  27. +0
    -58
      src/globals.cpp
  28. +1
    -2
      src/io.cpp
  29. +123
    -0
      src/libslime.cpp
  30. +1
    -1
      src/main.cpp
  31. +8
    -5
      src/memory.cpp
  32. +0
    -48
      src/slime.cpp
  33. +0
    -52
      src/slime.h
  34. +0
    -9
      src/slime_new.h
  35. +1
    -11
      src/structs.cpp
  36. +1
    -1
      src/testing.cpp
  37. +11
    -0
      tests/fullslime/build.sh
  38. +6
    -0
      tests/fullslime/main.cpp
  39. +21
    -0
      tests/libslime/build.sh
  40. +6
    -0
      tests/libslime/main.cpp

+ 2
- 0
.gitignore Visa fil

@@ -20,3 +20,5 @@ todo.html
/bin/slime
*.report
*.svg
/tests/libslime/main
/tests/fullslime/main

+ 1
- 1
.gitmodules Visa fil

@@ -1,3 +1,3 @@
[submodule "src/ftb"]
path = src/ftb
path = 3rd/ftb
url = https://github.com/FelixBrendel/ftb

+ 1
- 0
3rd/ftb

@@ -0,0 +1 @@
Subproject commit 5519e8640af77da24809d3132a4ce917455f411c

+ 0
- 97930
bin/profiler_reports/25.09.2019-20.43.14-1943576608960-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98020
bin/profiler_reports/25.09.2019-21.02.40-1596543500480-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98006
bin/profiler_reports/25.09.2019-21.03.22-1534786502848-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98022
bin/profiler_reports/25.09.2019-21.05.09-2274370814144-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98022
bin/profiler_reports/25.09.2019-21.06.09-2665877176512-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98030
bin/profiler_reports/25.09.2019-21.06.52-2336845955264-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98030
bin/profiler_reports/25.09.2019-21.07.49-1923198386368-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98040
bin/profiler_reports/25.09.2019-21.08.19-2343885635776-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 98042
bin/profiler_reports/25.09.2019-21.08.36-1757451223232-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 1054
bin/profiler_reports/25.09.2019-21.11.16-1310582210752-profiler.report
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 0
- 670
bin/profiler_reports/25.09.2019-21.11.29-1391452913856-profiler.report Visa fil

@@ -1,670 +0,0 @@
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-

+ 0
- 670
bin/profiler_reports/25.09.2019-21.11.43-2094049493184-profiler.report Visa fil

@@ -1,670 +0,0 @@
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
-> Slime::apply_arguments_to_function d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 240
-> Slime::create_extended_environment_for_function_application d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 5
-> Slime::eval_arguments d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 367
<-
<-
-> Slime::eval_expr d:\code\gitlab\tallshipengine\external\slime\src\./eval.cpp 402
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-
<-

+ 22
- 3
build.sh Visa fil

@@ -2,10 +2,29 @@ TIMEFORMAT=%3lR
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
pushd $SCRIPTPATH > /dev/null

# _DEBUG
echo ""
echo "----------------------"
echo " compiling libslime "
echo "----------------------"
echo ""

time clang++ --std=c++17 \
src/libslime.cpp -c -o libslime.o \
-I3rd/ || exit 1

echo ""
echo "----------------------"
echo " compiling fullslime "
echo "----------------------"
echo ""

# time g++ -fpermissive src/main.cpp -g -o ./bin/slime --std=c++17 || exit 1
time clang++ -D_DEBUG -D_PROFILING -D_DONT_BREAK_ON_ERRORS src/main.cpp -g -o ./bin/slime --std=c++17 || exit 1
# time clang++ -O3 -D_DONT_BREAK_ON_ERRORS src/main.cpp -g -o ./bin/slime --std=c++17 || exit 1
time clang++ -D_DEBUG -D_PROFILING -D_DONT_BREAK_ON_ERRORS \
src/main.cpp -g -o ./bin/slime --std=c++17 \
-I3rd/ || exit 1
# time clang++ -O3 -D_DONT_BREAK_ON_ERRORS \
# src/main.cpp -g -o ./bin/slime --std=c++17 \
# -I3rd/ || exit 1

echo ""
pushd ./bin > /dev/null


+ 231
- 0
include/libslime.h Visa fil

@@ -0,0 +1,231 @@
#include <functional>
#include "ftb/arraylist.hpp"
#include "ftb/hashmap.hpp"

namespace Slime {
struct Lisp_Object;
struct String;
struct Environment;

enum struct Thread_Type {
Main,
GarbageCollection
};

enum struct Lisp_Object_Type {
Nil,
T,
Symbol,
Keyword,
Number,
String,
Pair,
Vector,
Continuation,
Pointer,
HashMap,
// OwningPointer,
Function,
CFunction,
};

enum class Lisp_Object_Flags
{
// bits 1 to 5 (including) will be reserved for the type
Already_Garbage_Collected = 1 << 5,
Under_Construction = 1 << 6,
};

enum struct Function_Type {
Lambda,
Macro
};

enum struct Log_Level {
None,
Critical,
Warning,
Info,
Debug,
};

struct Continuation {
Array_List<Lisp_Object*> call_stack;
Array_List<Environment*> envi_stack;
};

struct String {
int length;
char data;
};

struct Source_Code_Location {
String* file;
int line;
int column;
};

struct Symbol {
String* identifier;
u64 hash;
};

struct Keyword {
String* identifier;
u64 hash;
};

struct Pair {
Lisp_Object* first;
Lisp_Object* rest;
};

struct Vector {
int length;
Lisp_Object* data;
};

struct Positional_Arguments {
Array_List<Lisp_Object*> symbols;
};

struct Keyword_Arguments {
// Array of Pointers to Lisp_Object<Keyword>
Array_List<Lisp_Object*> keywords;
// NOTE(Felix): values[i] will be nullptr if no defalut value was
// declared for key identifiers[i]
Array_List<Lisp_Object*> values;
};

struct Arguments {
Positional_Arguments positional;
Keyword_Arguments keyword;
// NOTE(Felix): rest_argument will be nullptr if no rest argument
// is declared otherwise its a symbol
Lisp_Object* rest;
};

struct Environment {
Array_List<Environment*> parents;
Hash_Map<void*, Lisp_Object*> hm;
};

struct Function {
Function_Type type;
Arguments args;
Lisp_Object* body; // maybe implicit begin
Environment* parent_environment; // we are doing closures now!!
};

struct cFunction {
std::function<Lisp_Object* ()> body;
Arguments args;
bool is_special_form;
};

struct Lisp_Object {
Source_Code_Location* sourceCodeLocation;
u64 flags;
Lisp_Object* userType; // keyword
String* docstring;
union {
Symbol symbol; // used for symbols and keywords
double number;
String* string;
Pair pair;
Vector vector;
Function function;
cFunction* cFunction;
void* pointer;
Continuation continuation;
Hash_Map<Lisp_Object*, Lisp_Object*> hashMap;
} value;
};

struct Error {
Lisp_Object* position;
// type has to be a keyword
Lisp_Object* type;
String* message;
};

void add_to_load_path(const char*);
bool lisp_object_equal(Lisp_Object*,Lisp_Object*);
Lisp_Object* built_in_load(String*);
Lisp_Object* built_in_import(String*);
void delete_error();
void create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, String* message);
void create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...);
void create_error(Lisp_Object* type, const char* message, const char* c_file_name, int c_file_line);
Lisp_Object* eval_arguments(Lisp_Object*);
Lisp_Object* eval_expr(Lisp_Object*);
bool is_truthy (Lisp_Object*);
int list_length(Lisp_Object*);
void load_built_ins_into_environment();
void create_arguments_from_lambda_list_and_inject(Lisp_Object* formal_arguments, Lisp_Object* function);

Lisp_Object* lookup_symbol(Lisp_Object* symbol, Environment*);
void define_symbol(Lisp_Object* symbol, Lisp_Object* value);
void print(Lisp_Object* node, bool print_repr = false, FILE* file = stdout);
void print_environment(Environment*);

bool run_all_tests();

inline Environment* get_root_environment();
inline Environment* get_current_environment();
inline void push_environment(Environment*);
inline void pop_environment();

const char* Lisp_Object_Type_to_string(Lisp_Object_Type type);

void visualize_lisp_machine();
void generate_docs(String* path);

namespace Memory {
Environment* create_built_ins_environment();
Lisp_Object* create_lisp_object_cfunction(bool is_special);
Lisp_Object* get_or_create_lisp_object_keyword(const char* identifier);
inline Lisp_Object_Type get_type(Lisp_Object* node);
void init(int, int, int);
char* get_c_str(String*);
void free_everything();
String* create_string(const char*);
Lisp_Object* create_lisp_object_number(double);
Lisp_Object* get_or_create_lisp_object_symbol(String* identifier);
Lisp_Object* get_or_create_lisp_object_symbol(const char*);
Lisp_Object* get_or_create_lisp_object_keyword(String* identifier);
Lisp_Object* get_or_create_lisp_object_keyword(const char*);
Lisp_Object* create_lisp_object_string(const char*);
Lisp_Object* create_list(Lisp_Object*);
Lisp_Object* create_list(Lisp_Object*,Lisp_Object*);
Lisp_Object* create_list(Lisp_Object*,Lisp_Object*,Lisp_Object*);
Lisp_Object* create_list(Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*);
Lisp_Object* create_list(Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*);
Lisp_Object* create_list(Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*,Lisp_Object*);
}

namespace Parser {
// extern Environment* environment_for_macros;

extern String* standard_in;
extern String* parser_file;
extern int parser_line;
extern int parser_col;

Lisp_Object* parse_single_expression(char* text);
Lisp_Object* parse_single_expression(wchar_t* text);
}

namespace Globals {
extern char* bin_path;
extern Log_Level log_level;
extern Array_List<void*> load_path;
namespace Current_Execution {
extern Array_List<Lisp_Object*> call_stack;
extern Array_List<Environment*> envi_stack;
}

extern Error* error;
extern bool breaking_on_errors;
}
}

+ 1
- 1
src/assert.hpp Visa fil

@@ -3,7 +3,7 @@
*/
#define __create_error(keyword, ...) \
create_error( \
__FILE__, __LINE__, \
__func__, __FILE__, __LINE__, \
Memory::get_or_create_lisp_object_keyword(keyword), \
__VA_ARGS__)



+ 7
- 8
src/built_ins.cpp Visa fil

@@ -14,6 +14,11 @@ proc lisp_object_equal(Lisp_Object* n1, Lisp_Object* n2) -> bool {

switch (Memory::get_type(n1)) {

case Lisp_Object_Type::T: // code for t and nil should never be
// reached since they are memory unique
case Lisp_Object_Type::Nil:
case Lisp_Object_Type::Symbol:
case Lisp_Object_Type::Keyword:
case Lisp_Object_Type::CFunction: // if they have the same
// pointer, true is returned a
// few lines above
@@ -21,9 +26,6 @@ proc lisp_object_equal(Lisp_Object* n1, Lisp_Object* n2) -> bool {
case Lisp_Object_Type::Pointer: // TODO(Felix): should a pointer
// object compare the pointer?
case Lisp_Object_Type::Continuation: return false;
case Lisp_Object_Type::T: // code for t and nil should never be
// reached since they are memory unique
case Lisp_Object_Type::Nil: return true;
case Lisp_Object_Type::Number: return n1->value.number == n2->value.number;
case Lisp_Object_Type::String: return string_equal(n1->value.string, n2->value.string);
case Lisp_Object_Type::Pair: {
@@ -33,9 +35,6 @@ proc lisp_object_equal(Lisp_Object* n1, Lisp_Object* n2) -> bool {
case Lisp_Object_Type::HashMap:
case Lisp_Object_Type::Vector:
create_not_yet_implemented_error();
case Lisp_Object_Type::Symbol:
case Lisp_Object_Type::Keyword:
return false;
}

// we should never reach here
@@ -373,7 +372,7 @@ proc load_built_ins_into_environment() -> void {
}
auto value = body->value.pair.first;
in_caller_env {
value = eval_expr(value);
try value = eval_expr(value);
define_symbol(definee, value);
}
} else if (Memory::get_type(definee) == Lisp_Object_Type::Pair) {
@@ -548,7 +547,7 @@ proc load_built_ins_into_environment() -> void {

Lisp_Object* ret;
in_caller_env {
ret = eval_expr(expr->value.pair.rest->value.pair.first);
try ret = eval_expr(expr->value.pair.rest->value.pair.first);
}

return ret;


+ 35
- 19
src/define_macros.hpp Visa fil

@@ -1,20 +1,38 @@
#define concat_( a, b) a##b
#define label(prefix, lnum) concat_(prefix,lnum)

#define try_or_else_return(val) \
if (1) \
goto label(body,__LINE__); \
else \
while (1) \
if (1) { \
if (Globals::error) { \
if (Globals::log_level == Log_Level::Debug) { \
printf("in %s:%d\n", __FILE__, __LINE__); \
} \
return val; \
} \
break; \
} \
#define log_location() \
do { \
if (Globals::log_level == Log_Level::Debug) { \
printf("in"); \
for (int i = 0; i < 30-strlen(__FILE__);++i) \
printf(" "); \
printf("%s (%d) ", __FILE__, __LINE__); \
printf("-> %s\n", __func__); \
} \
} while(0)

#define if_error_log_location_and_return() \
do { \
if (Globals::error) { \
log_location(); \
return; \
} \
} while(0)


#define try_or_else_return(val) \
if (1) \
goto label(body,__LINE__); \
else \
while (1) \
if (1) { \
if (Globals::error) { \
log_location(); \
return val; \
} \
break; \
} \
else label(body,__LINE__):
;

@@ -87,16 +105,14 @@
// in the code
#define _define_helper(def, docs, special) \
auto label(params,__LINE__) = Parser::parse_single_expression( \
Memory::get_c_str(Memory::create_string(#def)) \
); \
Memory::get_c_str(Memory::create_string(#def))); \
if_error_log_location_and_return(); \
assert_type(label(params,__LINE__), Lisp_Object_Type::Pair); \
assert_type(label(params,__LINE__)->value.pair.first, Lisp_Object_Type::Symbol); \
auto label(sym,__LINE__) = label(params,__LINE__)->value.pair.first; \
auto label(sfun,__LINE__) = Memory::create_lisp_object_cfunction(special); \
/*NOTE(Felix): for evaluating default args*/ \
/*push_environment(get_root_environment());*/ \
create_arguments_from_lambda_list_and_inject(label(params,__LINE__)->value.pair.rest, label(sfun,__LINE__)); \
/*pop_environment(); */ \
if_error_log_location_and_return(); \
label(sfun,__LINE__)->sourceCodeLocation = new(Source_Code_Location); \
label(sfun,__LINE__)->sourceCodeLocation->file = file_name_built_ins; \
label(sfun,__LINE__)->sourceCodeLocation->line = __LINE__; \


+ 0
- 11
src/defines.cpp Visa fil

@@ -1,4 +1,3 @@
#define new(type) new type
#define proc auto

#ifdef _DEBUG
@@ -7,7 +6,6 @@
# define if_debug if constexpr (false)
#endif


#ifdef _MSC_VER
# define debug_break() if_debug __debugbreak()
# define if_windows if constexpr (true)
@@ -18,15 +16,6 @@
# define if_linux if constexpr (true)
#endif

/*
* iterate over array lists
*/
// #define for_array_list(l) \
// if (int it_index = 0); else \
// for (auto it = (l).data[0]; \
// it_index < (l).next_index; \
// it=(l).data[++it_index])

/*
* iterate over lisp vectors
*/


+ 5
- 5
src/env.cpp Visa fil

@@ -1,10 +1,10 @@
proc define_symbol(Lisp_Object* symbol, Lisp_Object* value) -> void {
Environment* env = get_current_environment();
env->hm.set_object(symbol, value);
env->hm.set_object((void*)symbol, value);
}

inline proc lookup_symbol_in_this_envt(Lisp_Object* sym, Environment* env) -> Lisp_Object* {
return (Lisp_Object*)env->hm.get_object(sym);
return (Lisp_Object*)env->hm.get_object((void*)sym);
}

proc environment_binds_symbol(Lisp_Object* sym, Environment* env) -> bool {
@@ -70,7 +70,6 @@ inline proc get_current_environment() -> Environment* {

proc lookup_symbol(Lisp_Object* node, Environment* env) -> Lisp_Object* {
// print(node);
// printf("\n");
assert_type(node, Lisp_Object_Type::Symbol);

Lisp_Object* result = try_lookup_symbol(node, env);
@@ -79,8 +78,9 @@ proc lookup_symbol(Lisp_Object* node, Environment* env) -> Lisp_Object* {
return result;

String* identifier = node->value.symbol.identifier;
create_symbol_undefined_error("The symbol '%s' is not defined.", &identifier->data);
print_environment(env);
printf("\n");
create_symbol_undefined_error("The symbol '%s' is not defined.", &identifier->data);
return nullptr;
}

@@ -98,7 +98,7 @@ proc print_environment_indent(Environment* env, int indent) -> void {
// return;
// }

for_LO_to_LO_hash_map (env->hm) {
for_hash_map (env->hm) {
print_indent(indent);
printf("-> %s :: ", &(((Lisp_Object*)key)->value.symbol.identifier->data));
print((Lisp_Object*)value);


+ 16
- 9
src/error.cpp Visa fil

@@ -7,11 +7,19 @@ proc delete_error() -> void {
}
}

proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, String* message) -> void {

proc create_error(const char* c_func_name,const char* c_file_name, int c_file_line, Lisp_Object* type, String* message) -> void {
if (Globals::log_level > Log_Level::None) {
printf("Error created in:\n %s:%d\n", c_file_name, c_file_line);
printf(" -> %s\n", Memory::get_c_str(message));
for (int i = 0; i < 10+strlen(Memory::get_c_str(message));++i)
printf("-");
printf("\n Error - %s\n", Memory::get_c_str(message));
for (int i = 0; i < 10+strlen(Memory::get_c_str(message));++i)
printf("-");

printf("\nin");
for (int i = 0; i < 30-(strlen(c_file_name) - (int)log10(c_file_line)); ++i)
printf(" ");
printf("%s (%d) ", c_file_name, c_file_line);
printf("-> %s\n", c_func_name);
}

delete_error();
@@ -19,19 +27,18 @@ proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, S
debug_break();
}
// visualize_lisp_machine();

using Globals::error;

error = new(Error);
error->type = type;
error->message = message;

}


proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...) -> void {
proc create_error(const char* c_func_name, const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...) -> void {
// HACK(Felix): the length of all error strings is 200!!!!!!!!!!
using Globals::error;
int length = 200;
String* formatted_string = Memory::create_string("", length);
if (error) {
@@ -46,7 +53,7 @@ proc create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, c

formatted_string->length = written_length;

create_error(c_file_name, c_file_line, type, formatted_string);
create_error(c_func_name, c_file_name, c_file_line, type, formatted_string);
}

// proc Error_Type_to_string(Error_Type type) -> const char* {


+ 6
- 6
src/eval.cpp Visa fil

@@ -259,9 +259,9 @@ proc create_arguments_from_lambda_list_and_inject(Lisp_Object* arguments, Lisp_O
result = &function->value.function.args;
}

::new ((&(result->positional.symbols))) Array_List<Lisp_Object*>;
::new ((&(result->keyword.keywords))) Array_List<Lisp_Object*>;
::new ((&(result->keyword.values))) Array_List<Lisp_Object*>;
::new (&(result->positional.symbols)) Array_List<Lisp_Object*>;
::new (&(result->keyword.keywords)) Array_List<Lisp_Object*>;
::new (&(result->keyword.values)) Array_List<Lisp_Object*>;

// first init the fields
// result->positional = create_positional_argument_list(16);
@@ -315,7 +315,7 @@ proc create_arguments_from_lambda_list_and_inject(Lisp_Object* arguments, Lisp_O
create_parsing_error("Default args must be a list of 2.");
}
auto value = arguments->value.pair.first->value.pair.rest->value.pair.first;
value = eval_expr(value);
try_void value = eval_expr(value);
if (arguments->value.pair.first->value.pair.rest->value.pair.rest != Memory::nil) {
create_parsing_error("Default args must be a list of 2.");
}
@@ -486,7 +486,7 @@ proc is_truthy(Lisp_Object* expression) -> bool {
}

proc interprete_file (char* file_name) -> Lisp_Object* {
Memory::init(4096 * 256, 1024, 4096 * 256);
try Memory::init(4096 * 256, 1024, 4096 * 256);
Environment* root_env = get_root_environment();
Environment* user_env;
try user_env = Memory::create_child_environment(root_env);
@@ -506,7 +506,7 @@ proc interprete_file (char* file_name) -> Lisp_Object* {
}

proc interprete_stdin() -> void {
Memory::init(4096 * 256, 1024, 4096 * 256);
try_void Memory::init(4096 * 256, 1024, 4096 * 256);
Environment* root_env = get_root_environment();
Environment* user_env = Memory::create_child_environment(root_env);
push_environment(user_env);


+ 5
- 5
src/forward_decls.cpp Visa fil

@@ -1,11 +1,10 @@
// proc assert_type(Lisp_Object*, Lisp_Object_Type) -> void;
void add_to_load_path(const char*);
bool lisp_object_equal(Lisp_Object*,Lisp_Object*);
Lisp_Object* built_in_load(String*);
Lisp_Object* built_in_import(String*);
void delete_error();
void create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, String* message);
void create_error(const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...);
void create_error(const char* c_func_name, const char* c_file_name, int c_file_line, Lisp_Object* type, const char* format, ...);
void create_error(const char* c_func_name, const char* c_file_name, int c_file_line, Lisp_Object* type, String* message);
void create_error(Lisp_Object* type, const char* message, const char* c_file_name, int c_file_line);
Lisp_Object* eval_arguments(Lisp_Object*);
Lisp_Object* eval_expr(Lisp_Object*);
@@ -17,8 +16,10 @@ void create_arguments_from_lambda_list_and_inject(Lisp_Object* formal_arguments,
Lisp_Object* lookup_symbol(Lisp_Object* symbol, Environment*);
void define_symbol(Lisp_Object* symbol, Lisp_Object* value);
void print(Lisp_Object* node, bool print_repr = false, FILE* file = stdout);

void print_environment(Environment*);

bool run_all_tests();

inline Environment* get_root_environment();
inline Environment* get_current_environment();
inline void push_environment(Environment*);
@@ -72,7 +73,6 @@ namespace Globals {
extern Array_List<Lisp_Object*> call_stack;
extern Array_List<Environment*> envi_stack;
}

extern Error* error;
extern bool breaking_on_errors;
}

+ 0
- 1
src/ftb

@@ -1 +0,0 @@
Subproject commit dd7db5b3308b839995bfa211fb77ced6aa2f696e

+ 0
- 58
src/globals.cpp Visa fil

@@ -15,61 +15,3 @@ namespace Globals {
bool breaking_on_errors = true;
#endif
}

unsigned int hm_hash(void* ptr) {
return ((unsigned long long)ptr * 2654435761) % 4294967296;
}

unsigned int hm_hash(char* str) {
unsigned int value = str[0] << 7;
int i = 0;
while (str[i]) {
value = (10000003 * value) ^ str[i++];
}
return value ^ i;
}

bool hm_objects_match(char* a, char* b) {
return strcmp(a, b) == 0;
}

bool hm_objects_match(void* a, void* b) {
return a == b;
}

bool hm_objects_match(Lisp_Object* a, Lisp_Object* b) {
return lisp_object_equal(a, b);
}

u32 hm_hash(Lisp_Object* obj) {
switch (Memory::get_type(obj)) {
// hash from adress: if two objects of these types have
// different addresses, they are different
case Lisp_Object_Type::CFunction:
case Lisp_Object_Type::Function:
case Lisp_Object_Type::Symbol:
case Lisp_Object_Type::Keyword:
case Lisp_Object_Type::Continuation:
case Lisp_Object_Type::Nil:
case Lisp_Object_Type::T:
return hm_hash((void*) obj);
// hash from contents: even if objects are themselved
// different, they cauld be equivalent:
case Lisp_Object_Type::Pointer: return hm_hash((void*) obj->value.pointer);
case Lisp_Object_Type::Number: return hm_hash((void*) (unsigned long long)obj->value.number); // HACK(Felix): yes
case Lisp_Object_Type::String: return hm_hash((char*) &obj->value.string->data);
case Lisp_Object_Type::Pair: {
u32 hash = 1;
for_lisp_list (obj) {
hash <<= 1;
hash += hm_hash(it);
}
return hash;
} break;
case Lisp_Object_Type::Vector:
case Lisp_Object_Type::HashMap:
default:
create_not_yet_implemented_error();
return 0;
}
}

+ 1
- 2
src/io.cpp Visa fil

@@ -302,7 +302,6 @@ char* wchar_to_char(const wchar_t* pwchar) {
}

proc print(Lisp_Object* node, bool print_repr, FILE* file) -> void {

switch (Memory::get_type(node)) {
case (Lisp_Object_Type::Nil): fputs("()", file); break;
case (Lisp_Object_Type::T): fputs("t", file); break;
@@ -318,7 +317,7 @@ proc print(Lisp_Object* node, bool print_repr, FILE* file) -> void {
case (Lisp_Object_Type::CFunction): fputs("[C-function]", file); break;
case (Lisp_Object_Type::Pointer): fputs("[pointer]", file); break;
case (Lisp_Object_Type::HashMap): {
for_LO_to_LO_hash_map (node->value.hashMap) {
for_hash_map (node->value.hashMap) {
fputs(" ", file);
print(key, true, file);
fputs(" -> ", file);


+ 123
- 0
src/libslime.cpp Visa fil

@@ -0,0 +1,123 @@
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <cmath>
#include <ctype.h>
#include <stdarg.h>
#include <functional>

#ifdef _MSC_VER
# include <direct.h>
# include <windows.h>

#else
# include <unistd.h>
# include <signal.h>
#endif

#include "ftb/types.hpp"
#include "ftb/arraylist.hpp"
#include "ftb/macros.hpp"
#include "ftb/profiler.hpp"

namespace Slime {
struct Lisp_Object;
}

bool hm_objects_match(char* a, char* b);
bool hm_objects_match(void* a, void* b);
bool hm_objects_match(Slime::Lisp_Object* a, Slime::Lisp_Object* b);
unsigned int hm_hash(char* str);
unsigned int hm_hash(void* ptr);
unsigned int hm_hash(Slime::Lisp_Object* obj);
#include "ftb/hashmap.hpp"

namespace Slime {
# include "defines.cpp"
# include "assert.hpp"
# include "define_macros.hpp"
# include "platform.cpp"
# include "structs.cpp"
# include "forward_decls.cpp"
}

bool hm_objects_match(char* a, char* b) {
return strcmp(a, b) == 0;
}

bool hm_objects_match(void* a, void* b) {
return a == b;
}

bool hm_objects_match(Slime::Lisp_Object* a, Slime::Lisp_Object* b) {
return Slime::lisp_object_equal(a, b);
}

unsigned int hm_hash(char* str) {
unsigned int value = str[0] << 7;
int i = 0;
while (str[i]) {
value = (10000003 * value) ^ str[i++];
}
return value ^ i;
}

unsigned int hm_hash(void* ptr) {
return ((unsigned long long)ptr * 2654435761) % 4294967296;
}

unsigned int hm_hash(Slime::Lisp_Object* obj) {
using namespace Slime;
switch (Memory::get_type(obj)) {
// hash from adress: if two objects of these types have
// different addresses, they are different
case Lisp_Object_Type::CFunction:
case Lisp_Object_Type::Function:
case Lisp_Object_Type::Symbol:
case Lisp_Object_Type::Keyword:
case Lisp_Object_Type::Continuation:
case Lisp_Object_Type::Nil:
case Lisp_Object_Type::T:
return hm_hash((void*) obj);
// hash from contents: even if objects are themselved
// different, they cauld be equivalent:
case Lisp_Object_Type::Pointer: return hm_hash((void*) obj->value.pointer);
case Lisp_Object_Type::Number: return hm_hash((void*) (unsigned long long)obj->value.number); // HACK(Felix): yes
case Lisp_Object_Type::String: return hm_hash((char*) &obj->value.string->data);
case Lisp_Object_Type::Pair: {
u32 hash = 1;
for_lisp_list (obj) {
hash <<= 1;
hash += hm_hash(it);
}
return hash;
} break;
case Lisp_Object_Type::Vector:
case Lisp_Object_Type::HashMap:
default:
create_not_yet_implemented_error();
return 0;
}
}
#include "ftb/hashmap.hpp"

namespace Slime {
# include "globals.cpp"
# include "memory.cpp"
# include "gc.cpp"
# include "lisp_object.cpp"
# include "error.cpp"
# include "io.cpp"
# include "env.cpp"
# include "parse.cpp"
# include "eval.cpp"
# include "visualization.cpp"
# include "docgeneration.cpp"
# include "built_ins.cpp"
# include "testing.cpp"
// # include "undefines.cpp"
}

+ 1
- 1
src/main.cpp Visa fil

@@ -1,4 +1,4 @@
#include "slime.h"
#include "libslime.cpp"

int main(int argc, char* argv[]) {
if (argc > 1) {


+ 8
- 5
src/memory.cpp Visa fil

@@ -203,8 +203,9 @@ namespace Memory {
try_void Parser::standard_in = create_string("stdin");

Globals::Current_Execution::envi_stack.next_index = 0;
push_environment(create_built_ins_environment());

Environment* env;
try_void env = create_built_ins_environment();
push_environment(env);
}

proc reset() -> void {
@@ -224,7 +225,9 @@ namespace Memory {
next_free_spot_in_string_memory = string_memory;

Globals::Current_Execution::envi_stack.next_index = 0;
push_environment(create_built_ins_environment());
Environment* env;
try_void env = create_built_ins_environment();
push_environment(env);
}

proc create_lisp_object_pointer(void* ptr) -> Lisp_Object* {
@@ -437,7 +440,7 @@ namespace Memory {
if (parent)
env->parents.append(parent);

::new((&env->hm)) Hash_Map<Lisp_Object*, Lisp_Object*>;
::new((&env->hm)) Hash_Map<void*, Lisp_Object*>;

return env;
}
@@ -456,7 +459,7 @@ namespace Memory {
pop_environment();
};

load_built_ins_into_environment();
try load_built_ins_into_environment();

// save the current working directory
//char* cwd = get_cwd();


+ 0
- 48
src/slime.cpp Visa fil

@@ -1,48 +0,0 @@
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <cmath>
#include <ctype.h>
#include <stdarg.h>
#include <functional>

#ifdef _MSC_VER
# include <direct.h>
# include <windows.h>

#else
# include <unistd.h>
# include <signal.h>
#endif

#include "./ftb/arraylist.hpp"
#include "./ftb/macros.hpp"
#include "./ftb/profiler.hpp"

namespace Slime {
#include "./ftb/hashmap.hpp"
# include "./defines.cpp"
# include "./assert.hpp"
# include "./define_macros.hpp"
# include "./platform.cpp"
# include "./structs.cpp"
# include "./forward_decls.cpp"
# include "./globals.cpp"
# include "./memory.cpp"
# include "./gc.cpp"
# include "./lisp_object.cpp"
# include "./error.cpp"
# include "./io.cpp"
# include "./env.cpp"
# include "./parse.cpp"
# include "./eval.cpp"
# include "./visualization.cpp"
# include "./docgeneration.cpp"
# include "./built_ins.cpp"
# include "./testing.cpp"
# include "./undefines.cpp"
}

+ 0
- 52
src/slime.h Visa fil

@@ -1,52 +0,0 @@
#pragma once

#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <cmath>
#include <ctype.h>
#include <stdarg.h>
#include <functional>

#ifdef _MSC_VER
# include <direct.h>
# include <windows.h>

#else
# include <unistd.h>
# include <signal.h>
#endif

#include "./ftb/types.hpp"
#include "./ftb/macros.hpp"
#include "./ftb/profiler.hpp"
#include "./ftb/arraylist.hpp"

namespace Slime {
# include "./ftb/hashmap.hpp"

# include "./defines.cpp"
# include "./assert.hpp"
# include "./define_macros.hpp"
# include "./platform.cpp"
# include "./structs.cpp"
# include "./forward_decls.cpp"
# include "./globals.cpp"
# include "./memory.cpp"
# include "./gc.cpp"
# include "./lisp_object.cpp"
# include "./error.cpp"
# include "./io.cpp"
# include "./env.cpp"
# include "./parse.cpp"
# include "./eval.cpp"
# include "./visualization.cpp"
# include "./docgeneration.cpp"
# include "./built_ins.cpp"
# include "./testing.cpp"
# include "./undefines.cpp"
}

+ 0
- 9
src/slime_new.h Visa fil

@@ -1,9 +0,0 @@
#include <functional>

namespace Slime {
# include "./ftb/hashmap.hpp"
# include "./ftb/arraylist.hpp"
# include "./assert.hpp"
# include "./structs.cpp"
# include "./forward_decls.cpp"
}

+ 1
- 11
src/structs.cpp Visa fil

@@ -2,15 +2,6 @@ struct Lisp_Object;
struct String;
struct Environment;

// HASH MAPS
// define_hash_map(char*, String);
// define_hash_map(Lisp_Object*, Lisp_Obj);
// define_hash_map(void*, Void_Ptr);
#define for_str_to_LO_hash_map(hm) __for_hm_generator(char*, Lisp_Object*, hm)
// #define for_ptr_hash_map(hm) __for_hm_generator(void*, hm)
#define for_LO_to_LO_hash_map(hm) __for_hm_generator(Lisp_Object*, Lisp_Object*, hm)

// STRUCTS
enum struct Thread_Type {
Main,
GarbageCollection
@@ -42,7 +33,6 @@ enum class Lisp_Object_Flags

enum struct Function_Type {
Lambda,
// Special_Lambda,
Macro
};

@@ -112,7 +102,7 @@ struct Arguments {

struct Environment {
Array_List<Environment*> parents;
Hash_Map<Lisp_Object*, Lisp_Object*> hm;
Hash_Map<void*, Lisp_Object*> hm;
};

struct Function {


+ 1
- 1
src/testing.cpp Visa fil

@@ -606,7 +606,7 @@ proc run_all_tests() -> bool {

bool result = true;

Memory::init(200000, 102400, 409600);
try Memory::init(200000, 102400, 409600);
Environment* root_env = get_root_environment();
Environment* user_env = Memory::create_child_environment(root_env);
push_environment(user_env);


+ 11
- 0
tests/fullslime/build.sh Visa fil

@@ -0,0 +1,11 @@
echo ""
echo "----------------------"
echo " compiling libslime "
echo "----------------------"
echo ""

clang++ --std=c++17 \
main.cpp -o main \
-I../../3rd/ \
-I../../src/ \
-I../../include/ \

+ 6
- 0
tests/fullslime/main.cpp Visa fil

@@ -0,0 +1,6 @@
#include <libslime.cpp>

int main() {
int res = Slime::run_all_tests();
return res ? 0 : 1;
}

+ 21
- 0
tests/libslime/build.sh Visa fil

@@ -0,0 +1,21 @@
echo ""
echo "----------------------"
echo " compiling libslime "
echo "----------------------"
echo ""

clang++ --std=c++17 \
../../src/libslime.cpp -c -o libslime.o \
-I../../3rd/ \
-I../../src/

echo ""
echo "----------------------"
echo " compiling main "
echo "----------------------"
echo ""

clang++ --std=c++17 \
main.cpp -o main libslime.o \
-I../../include/ \
-I../../3rd/

+ 6
- 0
tests/libslime/main.cpp Visa fil

@@ -0,0 +1,6 @@
#include <libslime.h>

int main() {
int res = Slime::run_all_tests();
return res ? 0 : 1;
}

Laddar…
Avbryt
Spara