Comments (6)
@rvirding Is there anything I can do to help debug/fix this?
As a result of this issue, all of my non-17.0 builds on Travis CI are failing :-(
from lfe.
I will copy my comment in #erlang-lisp:
The problem with maps is twofold:
A number of calls to the bif is_map/1 type test and some some record definitions of maps for Core erlang. Calls to the maps module are no problem as these will just fail. If there was a decent way of testing which version of Erlang was being used there would be no problems as I could define macros. Maybe make should should first run an erlang to write something into a file which could then be used to define the right macros.
A solution is to maybe have separate branches, for a while anyway. So master and develop would support R15,16 while maps-dev would be for R17?
Saw your questions last night but net connection went down before I could reply. I run a wifi hotspot in my mobile out in the country so it is not that reliable.
from lfe.
Oh dear! Yeah, we never saw this comment on IRC yesterday. No worries, though :-) Thank goodness for other options when a network is misbehaving ;-)
Could you do a version check by calling out to erl -eval "io:format(\"~p~n\", [erlang:system_info(otp_release)]."
in the Makefile
?
Hrm, we could use the classic autoconfig approach: run ./config
to generate a Makefile
from a Makefile.in
...
If none of these work, I'm perfectly okay with just master
and develop
-- I can update all the docs and scripts to point to master
; develop
can be where all the breaking changes happen (which was probably your original intent anyway! See what happens when you do such a good job of making develop
stable? ;-)).
If we go down this route, ultimately, backwards incompatible changes will make it into master
, but we can alleviate a bad user experience with documentation. For example, we could have a section of the README
dedicated to helping users figure out which version of LFE would work for them, which ones mapped to which versions of Erlang/OTP, and how to checkout from tags (e.g., git clone http://github.com/rvirding/lfe && cd lfe && git checkout tags/v0.8
). Hrm, I guess I could also add a --use-version
flag to lfetool
to do something similar.
from lfe.
Added a commit cb26eda to the 'develop' branch which checks for existence of maps and creates a file "maps.mk" which is included by make. The file contains definition of a HAS_MAPS macro which is tested in the relevant files. I don't quite understand why make can load a file like this but it works. "make clean" removes file.
THIS ONLY WORKS WITH MAKE AND NOT WITH REBAR!
from lfe.
Hurray! This has fixed all the broken builds in TravisCI!
I didn't even have to update lfetool
with a release. So magical :-)
from lfe.
Thanks again!
from lfe.
Related Issues (20)
- Run tests without rebar3 HOT 4
- Add make targets for testing HOT 1
- README: Run tests with Makefile HOT 3
- Improve workflow for publishing LFE to hex.pm
- Odd recursion bug with rebar3_lfe as a plugin dep HOT 1
- v2.1.1 tagged but not marked as latest HOT 5
- lc/2 not defined HOT 8
- ets-ms is attempting to match 'undefined' when using match-record with unspecified slots HOT 5
- Error expanding (seemingly valid) qlc macro HOT 12
- Extend documentation for patterns HOT 2
- CI/CD no longer runs on older builds HOT 4
- Type definitions and specifications do not accept empty list syntax HOT 1
- Issues with LFE and Erlang 26.0 (user:start) HOT 5
- Make banner functions public for re-use in rebar3_lfe
- Consider using Erlang's shell:start_interactive for 26+ HOT 1
- Explore the possibility of making the LFE REPL developer experience more configurable HOT 2
- module-alias is ignored for macros HOT 1
- Pattern matching on nested literals with underscore. HOT 3
- Test Failures with rebar3 3.23.0 HOT 3
- (Mix) Could not compile dependency :lfe - Elixir 1.15.7 OTP 26 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lfe.