Comments (5)
@sarna I think this commit may have a relevant change:
$ janet
Janet 1.35.2-342a29c7 linux/x64/gcc - '(doc)' for help
repl:1:> (seq [i :range [0 5]])
repl:1:1: compile warning (normal): empty loop body
@[nil nil nil nil nil]
from janet.
FWIW, in the above case, the warning (that shows up on stderr) that appears for an empty-body loop
broke a "driver" program that was parsing stderr. It had expectations that only certain output would show up on stderr (i.e. that coming from progams being executed).
I think in this case, the warning should actually not happen -- there seem to be legitimate reasons to have empty-bodied loop
s (in contrast to seq
).
from janet.
I guess if one wanted 5 nils, it would be clearer to express it like:
(seq [i :range [0 5]] nil)
from janet.
Although the change introduced makes sense for seq
, I'm not sure it does for loop
.
I found an example here where an empty-body loop
is being used for side-effects:
(loop [line :iterate (file/read infile :line)
:until (string/has-prefix? ">THREE " line)])
from janet.
With loop
I think no warning is okay. seq
is explicitly a list comprehension, so I'd expect the result to be used - not really true with loop
.
from janet.
Related Issues (20)
- `(= @"update" @"update")` is `false`. HOT 3
- `ev/select` still revives fibers.... HOT 3
- option to unbundle docstrings and potential consequences HOT 8
- splicing into structs/tables HOT 2
- Disasm/asm doesn't round-trip for function with unused argument HOT 1
- eventloop/networking gets stuck on musl HOT 11
- Consider making `module/paths` a dynamic variable HOT 7
- Can it run on iOS? Thank you. HOT 3
- `os/strftime` doesn't respect environment variables. HOT 3
- Re-integrate jpm into janet HOT 49
- recent change kinda breaks lexical scope with multiple modules HOT 2
- How to switch off spork/sh/copy message? HOT 2
- `janet -c source` with missing output files should give informative error message HOT 1
- Linux event loop hanging HOT 7
- Certain PEG patterns don't match HOT 2
- Discrepancy between the website docs and behavior for the `look` peg special HOT 4
- `release-fix` Branch is 5 Commits Behind? HOT 2
- os/open fails to create a file unless it's opened read/write-only HOT 1
- Undefined behaviour when running `make test` with `-fsanitize=undefined` HOT 5
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 janet.