For building and installation instructions, see dev/README.md
.
Current documentation is available at http://wrapl.github.io.
A mini language used for the Rabs build system and within Wrapl.
Home Page: https://minilang.readthedocs.io
License: MIT License
For building and installation instructions, see dev/README.md
.
Current documentation is available at http://wrapl.github.io.
Clang doesn't have clog10. I think it's specific to gcc.
442 / 476 #0 Updated file:/usr/include/sys/filio.h to iteration 1
443 / 477 #0 Updated file:/usr/include/sys/sockio.h to iteration 1
444 / 478 #0 Updated file:/usr/include/poll.h to iteration 1
445 / 478 #0 Updated scan:file:obj/linenoise.c::INCLUDES to iteration 1
446 / 478 #0 Updated file:obj/linenoise.o to iteration 1
447 / 478 #0 Updated file:lib/libminilang.a to iteration 1
448 / 479 #0 Updated symb:/obj/LDFLAGS to iteration 1
ld: error: undefined symbol: clog10
>>> referenced by ml_math.c:327 (/memfs/git/minilang/src/ml_math.c:327)
>>> ml_math.o:(ml_method_fn_327_30) in archive /memfs/git/minilang/lib/libminilang.a
>>> referenced by ml_math.c:327 (/memfs/git/minilang/src/ml_math.c:327)
>>> ml_math.o:(ml_method_fn_327_31) in archive /memfs/git/minilang/lib/libminilang.a
>>> did you mean: log10
>>> defined in: /usr/lib/libm.so
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Error: file:bin/minilang: process returned non-zero exit code
cc -o /memfs/git/minilang/bin/minilang /memfs/git/minilang/obj/minilang.o /memfs/git/minilang/lib/libminilang.a -lm -g -lyajl -lexpat -ldl -luuid -licuuc -L/usr/local/lib -lgc-threaded:1
FreeBSD clang version 13.0.0 ([email protected]:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
Target: x86_64-unknown-freebsd13.1
Thread model: posix
InstalledDir: /usr/bin
FreeBSD 13.1-RELEASE
If you have an expression that only consists of whitespace or the empty string embedded into a string literal, minilang will segfault.
For example, this very minimal script will lead to a crash:
'{}'
Within the frame, the local variable Child is null, leading to the segfault.
Lines 2172 to 2198 in 3ca518e
Is there any roadmap or todo list or brainstormed ideas etc. for this project?
I'd like to know more as I discovered it today and wonder what are the trade-offs and what's the maximum expected performance etc.
Build fails on FreeBSD 12.2:
cc obj/cache.o obj/context.o obj/rabs.o obj/target.o obj/target_expr.o obj/target_file.o obj/target_meta.o obj/target_scan.o obj/target_symb.o obj/targetcache.o obj/targetqueue.o obj/targetset.o obj/util.o obj/vfs.o obj/library.o obj/whereami.o minilang/lib/libminilang.a radb/libradb.a -o bin/rabs -fstack-protector-strong -L/usr/local/lib minilang/lib/libminilang.a radb/libradb.a -lm -pthread -L/usr/local/lib -lgc-threaded
ld: error: undefined symbol: parse_printf_format
>>> referenced by ml_string.c:162 (src/ml_string.c:162)
Rev. 93e02da
AFL found a weird sequence that I minimized below:
let Y := (;)Y
#Y
After poking around for a bit I realized that the issue is it is calling ml_tuple_hash
, ml_closure_hash
, and ml_hash_chain
recursively forever. This happens even with more readable closures-in-tuples:
let X := (fun() X, 1)
#X
will also cause a crash.
I'm not familiar enough with the codebase to fully understand the purpose of the hash chains, and so I don't know the implications of this, but it seems that changing this line:
Line 1315 in 4a169f7
ml_hash_chain
instead of ml_hash
).A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.