Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 30 06:46
    gerxiu starred gilch/hissp
  • Nov 28 00:07
    gilch opened #138
  • Nov 27 23:56
    gilch edited #137
  • Nov 27 23:56
    gilch commented #137
  • Nov 27 23:48
    gilch opened #137
  • Nov 27 23:41

    gilch on update-contributing

    Update for current practice (compare)

  • Nov 27 22:01
    majidaldo starred gilch/hissp
  • Nov 26 04:12
    sguzman starred gilch/hissp
  • Nov 25 22:01

    gilch on gilch-patch-quickstart

    (compare)

  • Nov 25 22:00

    gilch on master

    Reorder to fix issue with untes… Merge pull request #136 from gi… (compare)

  • Nov 25 22:00
    gilch closed #136
  • Nov 25 22:00
    gilch opened #136
  • Nov 25 21:54

    gilch on gilch-patch-quickstart

    Reorder to fix issue with untes… (compare)

  • Nov 19 14:29
    matt-hughes starred gilch/hissp
  • Nov 18 22:41
    ihavenonickname starred gilch/hissp
  • Nov 15 05:00
    codecov[bot] commented #135
  • Nov 15 04:59
    gilch opened #135
  • Nov 15 04:59

    gilch on gilch-patch-1

    typo (compare)

  • Nov 14 13:21
    i4get2code starred gilch/hissp
  • Nov 13 04:57
    boticello starred gilch/hissp
Kyle I S Harrington
@kephale
ah ok, i was just using the default behavior of emacs and dont really care about the difference
great that it is an easy fix
gilch
@gilch
I suppose I could make that error message clearer.
Tabs are allowed in strings, they just aren't whitespace.
Kyle I S Harrington
@kephale
is there a technical reason?
gilch
@gilch
Standard tab stops are technically supposed to be equivalent to 8 spaces, when used as indentation. But you more often see them set to 2 or 4, and 1 or 3 is not that rare either. Because indentation is so important for legibility in Lisp, and for Parinfer to work, bad tabstop settings can cause a lot of issues.
Kyle I S Harrington
@kephale
i see
so legibility/parainfer, and not something like reader macro clashes or things along those lines
gilch
@gilch
Especially when working on teams, where members might be editing using different software.
Disallowing them altogether prevents all these issues, and also eliminates a bunch of special cases tooling would otherwise have to deal with.
You can see the regex for tokenizing Lissp in hissp.reader.
gilch
@gilch
It would not be technically difficult to match \s+ as whitespace, instead of the current [ \n]+.
But disallowing tabs for indents was intentional.
Kyle I S Harrington
@kephale
ok, to be clear i don't care at all, but default emacs config (at least on ubuntu) seems to use tabs. so to me it just seems like another config hurdle for new users
gilch
@gilch
Default emacs config is pretty dated. It's probably still using the traditional 8-space tabstops. Parinfer might be using 2 spaces.
I should make the error message clearer, and maybe give it a mention in the docs, since standard practice for most other languages is to treat tabs as whitespace.
Kyle I S Harrington
@kephale
that would be good
i'm still not 100% sold but again i'm pretty indifferent once i change my settings
i understand your reasoning, and maybe it lines up with the forced indenting style of python
but since tooling isnt provided for hissp or default configurations
it does seem like an extra hurdle for new users
gilch
@gilch
Looks like Parinfer is configurable, so it might depend on which plugin.
gilch
@gilch
I agree it's a hurdle for new users. I still don't think that allowing tabs is worth it, as it is just a config change. Once and done. Once Lissp is more stable, maybe it can have dedicated tooling that handles this. Then they just install the plugin for their editor and it configures that for them.
gilch
@gilch
I'm hoping to get the next release out some time this weekend. At the rate I'm going, I feel optimistic.
Kyle I S Harrington
@kephale
huzzah!
gilch
@gilch
I've accomplished my issues for the 0.2.0 release. I still need to review and merge the copy edit, then I just have to build, manually test, and release the new package.
I can probably get that done tomorrow.
Kyle I S Harrington
@kephale
:confetti_ball:
gilch
@gilch
pip install hissp
@/all Hissp 0.2.0 is up on PyPI.
Kyle I S Harrington
@kephale
:thumbsup: awesome
gilch
@gilch
Hissp has officially hit 100 stars on GitHub!
Kyle I S Harrington
@kephale
nice!
in the last reddit about Hy i mentioned that Hissp turned out to be the better choice for me ;)
gilch
@gilch
I had upvoted your comment ;)
That did drive some traffic to the GitHub page.
mgrasko
@mgrasko
I am one of those from Kyle I S Harrington Reddit post. I have to say I am very impressed with Hissp. Next week I plan to write some actual usefull code and will let you know. Right now everything seems to work fine and it seems like something that will let me stay sane using python ecosystem after reading SICP
also there is really no exposure, if not for this single reddit mention I would never stumble upon hissp
gilch
@gilch
Welcome.
Daehwan Nam
@daehwannam
I'm new to Hissp and feel it's cool! I need to run lisp code which is dynamically created during run time. At first, I tried Hy's eval function but It's too slow. Now I'm trying Hissp and found that 'readerless' and Lissp has no big overhead and it's roughly 40 times faster than Hy's eval!
gilch
@gilch
I'm always happy to hear that Hissp is finding use! Hissp's implementation is much simpler than Hy's. That's probably why it's faster, but I had no idea that the difference was that dramatic. Hissp and Hy have very different architectures. There may be something else about Hissp's approach that accounts for the difference.
Mike Pelletier
@salixbipedis:matrix.org
[m]
Thanks for inviting me into your brain. If I want to unit test a scrap of Lissp, I suppose I can just use any Python unit testing framework? Any helpful best practices?
Mike Pelletier
@salixbipedis:matrix.org
[m]
(mod "%s" '(hello)) feels so wrong and makes me never want to overload another operator in my life
2 replies
salt rock lamp
@elementio:salt-rock-lamp.ems.host
[m]
pytest would probably work on the compiled python, and unittest almost certainly would
salt rock lamp
@elementio:salt-rock-lamp.ems.host
[m]
Mike Pelletier: also you can do (define % mod) to paper over the ickiness. but this is why i (personally) like f-strings anyway, or .format if you want to save a "template" to reuse later.
that said, i dont think hissp has f-strings?
salt rock lamp
@elementio:salt-rock-lamp.ems.host
[m]
hm, im reading the docs and i feel like i still have no idea how args and *kwargs work
ah, the : comes before :* args
salt rock lamp
@elementio:salt-rock-lamp.ems.host
[m]
(define fmt (lambda (template : :* args :** kwargs) (.format template : :* args :** kwargs))) is this the right unpacking/packing syntax?
gilch
@gilch
@salixbipedis:matrix.org I've been using the standard library for unit tests, and it's working fine. You can see the tests in the git repository. Some of them are written in Lissp: https://github.com/gilch/hissp/blob/master/tests/test_basic.lissp
1 reply