Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:30
    bakpakin commented #833
  • 01:28
    bakpakin closed #794
  • 01:28
    bakpakin commented #794
  • Oct 16 22:57
    hdcos commented #794
  • Oct 16 22:53
    llmII commented #794
  • Oct 16 22:50
    hdcos commented #794
  • Oct 16 22:49
    hdcos commented #794
  • Oct 16 21:26
    llmII commented #794
  • Oct 16 21:19
    hdcos commented #794
  • Oct 16 20:28

    bakpakin on v1.18.1

    (compare)

  • Oct 16 20:05

    bakpakin on master

    Prepare for patch release. (compare)

  • Oct 16 17:51

    bakpakin on master

    Fix typo in docstring Merge branch 'master' into jgar… Merge pull request #843 from jg… (compare)

  • Oct 16 17:51
    bakpakin closed #843
  • Oct 16 17:51
    bakpakin synchronize #843
  • Oct 16 17:50

    bakpakin on master

    Support Android (termux) Add android-spawn to meson.buil… Merge pull request #840 from br… (compare)

  • Oct 16 17:50
    bakpakin closed #840
  • Oct 16 15:49
    jgarte opened #843
  • Oct 16 06:43
    sogaiu commented #840
  • Oct 16 02:51
    bradms commented #840
  • Oct 16 02:42
    bradms commented #840
andrewchambers
@andrewchambers
all an abstract type really is
is a slot of memory managed by the janet garbage collector, and a type
the type is associated with a set of callbacks
so your C code can do whatever it wants with that memory
saikyun
@saikyun
That sounds reasonable :) I just didn't have an easy way to relate to it. With the examples I understand a bit better
Thanks for explaining
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
Has anybody got an example of how to use maclintf?
I'm particularly not really sure what the levels should be
oh, maybe it's :relaxed etc...
sogaiu
@sogaiu:matrix.org
[m]

that interpretation seems consistent with the content of this: https://github.com/janet-lang/janet/issues/644#issuecomment-851054482

Each lint message has the following structure:

(level line column message)

Where level is a keyword lint level, line and column are the line and column of the source code where the lint issue occurred, and message is a user facing message.

and this line: https://github.com/janet-lang/janet/blob/master/src/boot/boot.janet#L1798 inside the definition of maclintf has:

(array/push lints [level l c msg])
bakpakin
@bakpakin:matrix.org
[m]
If you are wondering how the levels are defined, it is entirely by the lint-levels binding in boot.janet
(def- lint-levels
  {:none 0
   :relaxed 1
   :normal 2
   :strict 3
   :all math/inf})
This is technically not supported but if you were to add more mappings to this table, you could have more lint levels. Each level is a keyword that maps to a priority.
The way to think about it is, more important lint messages will have a lower priority number.
The user set lint thresholds are maximums
bakpakin
@bakpakin:matrix.org
[m]
for example, if -w normal is passed an argument to janet, any lint message of level 2 or below will print a warning message
if -x relaxed is passed, any lint message of level 1 or below will cause a compiler error
Yes, I need to update the Janet documentation on this, although I hope to do that this weekend.
bakpakin
@bakpakin:matrix.org
[m]
:point_up: Edit: This is technically not supported but if you were to add more mappings to this struct, you could have more lint levels. Each level is a keyword that maps to a priority.
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]

Currently compiling a native lib and getting this:

rl.c:1:10: fatal error: janet.h: No such file or directory

What's the likelihood the janet package for this os (void linux) is misconfigured?

bakpakin
@bakpakin:matrix.org
[m]
try jpm --verbose build
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
ah! It's one of those with a separate -devel package
bakpakin
@bakpakin:matrix.org
[m]
ok good to hear
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
("it" being Void in general)
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
  • and then would none be for what I ws describing before as info?
(ie, a message emitted by the compiler by one that should not halt compilation at any strictness level)
bakpakin
@bakpakin:matrix.org
[m]
More or less, but a :relaxed message is actually the noisiest. :relaxed here means it will show up if the threshold is set to :relaxed.
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
Hm - is there a difference between showing up and failing the compile/returning a non-zero error code?
bakpakin
@bakpakin:matrix.org
[m]
The default warn threshold is normal
and the default error threshold is none
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
In other words, is it possible using this system to always show this message, but change whether it's a failure or just informational?
bakpakin
@bakpakin:matrix.org
[m]
You shouldn't always show a lint message
but more or less, yes
I may add some more aliases that would make intent like this more clear
but they would just map to integer levels
basically - use :strict for inconsequential things that a user shouldn't see normally
only if they have -w strict enabled
and use :normal for most things
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
hm ok
i think i'll have to dive into these flags and the different usecases
bakpakin
@bakpakin:matrix.org
[m]
Literally just think of them as 1, 2, and 3 for relaxed, normal, and strict
Zach Smith (subsetpark)
@subsetpark:matrix.org
[m]
well the mapping between the keywords and the integer isn't the part i need to digest :)
bakpakin
@bakpakin:matrix.org
[m]
The logic to show or raise an error:
            (each [level line col msg] lints
              (def lvl (get lint-levels level 0))
              (cond
                (<= lvl lint-error) (do
                                      (set good false)
                                      (on-compile-error msg nil where (or line l) (or col c)))
                (<= lvl lint-warning) (on-compile-warning msg level where (or line l) (or col c)))))
Pretty much sums it up
saikyun
@saikyun
how do I force a newline in docstrings? I thought double space at end of line would suffice
sogaiu
@sogaiu:matrix.org
[m]
i think crocket asked for something like this recently.
@Saikyun: may be it's this: janet-lang/janet#694
saikyun
@saikyun
thank you!!
saikyun
@saikyun
when trying jpm build / install, I get this error:
$ JANET_PATH=../janet_lib jpm build
generating executable c source...

@{:name "hello"}
@{:name "bert"}
@[(0 1 :open-paren) (5 2 :open-paren) (11 2 :close-paren) (12 1 :close-paren) (22 1 :open-paren) (35 1 :close-paren)]

found native /home/jona/programmering/freja/build/text-rendering.so...
found native ../janet_lib/jaylib.so...
error: try to marshal unregistered abstract type, cannot marshal <core/channel 0x55A3799FA3F0>
  in marshal
  in <anonymous> [/usr/local/bin/jpm] on line 738, column 20
  in do-rule [/usr/local/bin/jpm] on line 263, column 26
  in do-rule [/usr/local/bin/jpm] (tailcall) on line 259, column 44
  in _thunk [/usr/local/bin/jpm] on line -1, column -1
  in cli-main [boot.janet] on line 3422, column 39
I'm not sure what that means