Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 06 02:08
    bakpakin closed #1005
  • Aug 04 14:25
    pepe commented #1006
  • Aug 04 13:13
    bakpakin closed #1006
  • Aug 04 13:13
    bakpakin commented #1006
  • Aug 04 13:00
    pepe opened #1006
  • Aug 03 01:16
    ahungry commented #324
  • Aug 03 01:11
    ahungry commented #324
  • Aug 02 19:58

    bakpakin on master

    Fix docstring. (compare)

  • Aug 02 17:34

    bakpakin on master

    Add testcase for issue #1005 (compare)

  • Aug 02 17:23
    bakpakin commented #1005
  • Aug 02 17:19

    bakpakin on master

    Get rid of disabled tracing. #1… (compare)

  • Aug 02 17:17
    bakpakin commented #1005
  • Aug 02 17:14

    bakpakin on master

    Address #1005 - Fix janet_call … (compare)

  • Aug 02 17:04
    paulsnar commented #1005
  • Aug 02 16:56
    bakpakin commented #1005
  • Aug 02 16:49
    bakpakin commented #1005
  • Aug 02 15:19
    bakpakin labeled #1005
  • Aug 02 14:58
    paulsnar commented #1005
  • Aug 02 13:00
    paulsnar commented #1005
  • Aug 02 13:00
    paulsnar commented #1005
pp
@damnpepe:matrix.org
[m]
but I guess you can protect it easily
sogaiu
@sogaiu:matrix.org
[m]
depending on what you want, you don't need to do compile iiuc: https://github.com/janet-lang/janet/blob/master/test/suite0008.janet#L297-L298
pp
@damnpepe:matrix.org
[m]
Indeed. to be frank, I am not sure why I do in the snippet I have sent :-)
llmII
@llmii:matrix.org
[m]
seems I should learn what the parse function does...
pp
@damnpepe:matrix.org
[m]
well I highly recommend it, especially to someone already deep in Janet as I feel you are
llmII
@llmii:matrix.org
[m]
@pp: you mean parse or jdn?
pp
@damnpepe:matrix.org
[m]
parse sry
llmII
@llmii:matrix.org
[m]
sogaiu: that's awesome, the example you linked
sogaiu
@sogaiu:matrix.org
[m]
parse wraps the parser/* stuff
pp
@damnpepe:matrix.org
[m]
thank you sogaiu!
llmII
@llmii:matrix.org
[m]
pp: just had to be sure, parse really definitely will be useful to know
sogaiu
@sogaiu:matrix.org
[m]

llmII: here's a taste of what you can do with parser/* stuff: https://github.com/sogaiu/janet-editor-elf/blob/master/janet-editor-elf/delims.janet#L16-L53

this is what i use to find missing delimiters in "partial" code

llmII
@llmii:matrix.org
[m]
I'll probably want the parser api, if I could somehow parse multiple blocks, or I guess I could just wrap the entire file in [] to get it all back as an array of toplevel values
sogaiu
@sogaiu:matrix.org
[m]
yes i think that would work (assuming you added a @ on the front)
parsing multiple things should be doable too
llmII
@llmii:matrix.org
[m]
I'm guessing the full parser API would be needed for the multiple things?
sogaiu
@sogaiu:matrix.org
[m]
yes i think so
unless you wrap like you described
llmII
@llmii:matrix.org
[m]
that's why my first thought was array-wrapping a string, keeps things simple to be just a single parse call
sogaiu
@sogaiu:matrix.org
[m]
well...
yes :)
llmII
@llmii:matrix.org
[m]
hehehe, I thought you were about to mention an edge case where doing so means breaking everything lol
sogaiu
@sogaiu:matrix.org
[m]
:)
llmII
@llmii:matrix.org
[m]
thanks sogaiu, @pepe
pp
@damnpepe:matrix.org
[m]
you are welcome
llmII
@llmii:matrix.org
[m]
um pp *
pp
@damnpepe:matrix.org
[m]
same one, the former is french tho
llmII
@llmii:matrix.org
[m]
hehe, I see, still getting used to matrix, and tab complete selection, good to know they're both you
pp
@damnpepe:matrix.org
[m]
indeed
anyway, this part of Janet is the one I like a lot. Not that I am using it that often, but there is something calming in the knowledge that it exists :-). And is not that hard to use, when needed
llmII
@llmii:matrix.org
[m]
wonder what's a good way to collect and display a parsing error for end user purposes from the parse function, but yep pp having the parser available like that, emitting values but not evaluating, is awesome 😀
2 replies
llmII
@llmii:matrix.org
[m]
pp: got to thinking about it, the context stuff, saw an example of that somewhere actually, very useful, as to do-file... could spawn it in another fiber with a deadline and between limiting context so they basically only get def/var and specials and maybe something you want to insert, and setting a deadline (no infinite while loops), can possibly prevent that
by prevent that, I mean, prevent arbitrary code exec
I'm unsure if the deadline for a spawned coroutine will work if all that is done is blocking actions
llmII
@llmii:matrix.org
[m]
ev/with-deadline won't work for that, as I feared, might be better to just start a process to read the config, or start a thread really
(ev/with-deadline 5 (ev/thread (fn [] (while true ())))) works 😁
llmII
@llmii:matrix.org
[m]
only issue I guess is there's no way to kill a thread like that that I know of
llmII
@llmii:matrix.org
[m]
that said, I'd guess dofile and the like are ok where things can be trusted, but using the parser is the best bet for stuff that the user supplies and you don't want to trust... not sure what to do about the ability to have hung threads if someone inserts a "while true" loop, sort of I guess want a way to say "stop running the script if it takes too long", processes have better support in this case than threads, since such can be killed if it runs away
llmII
@llmii:matrix.org
[m]
oh well, configuration file parsing can be done with parse, doing it with nice error messages can be figured out later, just have to think on how to use the parser to do multiple values instead of array-wrapping possibly
llmII
@llmii:matrix.org
[m]
that's of interest indeed, if I could prohibit fn defn defmacro and variants that'd pretty much make flycheck do great for checking for errors without having to worry about arbitrary execution
saikyun
@saikyun
@pepe thanks for mentioning the error message problem, haha. I got a similar error in freja, which was easier to find thanks to your mention of it :)
3 replies
made it easier for me to look through recent janet commits
sogaiu
@sogaiu:matrix.org
[m]
pp: presumably he means this
as there was saikyun/freja@bea027e that referred to debug/stacktrace
saikyun
@saikyun
yeah what sogaiu said :)
pp
@damnpepe:matrix.org
[m]
you should I insist
I hoped to be funny
And thanks sogaiu as always!