Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 16 2019 10:27
  • Dec 03 2018 22:30
    PrimordialHelios closed #55
  • Dec 03 2018 22:30
    PrimordialHelios commented #55
  • Dec 03 2018 21:57
    PrimordialHelios commented #55
  • Dec 03 2018 21:22
    PrimordialHelios opened #55
  • Sep 21 2018 23:49
    0xflotus opened #54
  • Sep 21 2018 23:49
  • Jun 21 2018 13:28
  • Apr 05 2018 01:02
  • Jan 29 2018 18:29

    anko on master

    Downgrade source-map to ^0.6.0 … (compare)

  • Jan 24 2018 00:30

    anko on master

    Cleanup: rearranging for ease o… Travis: Test on Node v9, stop t… Update npm dependencies (compare)

  • Jul 30 2017 15:49
    alandipert commented #53
  • Jul 30 2017 11:33

    anko on master

    Travis: Test on Node 8, drop 0.… Use prepare npm script instead … (compare)

  • Jul 30 2017 11:24
    anko commented #53
  • Jul 30 2017 11:20
    anko commented #53
  • Jul 30 2017 11:18

    anko on master

    0.7.6 (compare)

  • Jul 30 2017 11:18

    anko on v0.7.6

    (compare)

  • Jul 30 2017 11:13
    anko closed #53
  • Jul 30 2017 11:13

    anko on master

    Let `return` take 0 arguments … (compare)

  • Jul 30 2017 05:59
    alandipert opened #53
Claudia Meadows
@isiahmeadows
I don't normally use a top of the line PC, so that contributes.
My problem with CL is the lack of documentation or tutorials to even start. It's easier to get started with Cobol.
Claudia Meadows
@isiahmeadows
Scheme has Mithril's problem of no clear starting point, but more extreme. Racket at least has taken steps to fix that problem, but I really don't like traditional IDEs, which their community heavily relies on specifically one: Dr. Racket. And if you want to use anything else, tooling is hard to find.
Antti Korpi
@anko
@terinjokes Land of Lisp is fun! :smile: I tried to have the readme link to as much background reading as possible, but maybe it should recommend an introductory text…
Terin Stock
@terinjokes
@isiahmeadows My mithril project is terrible and has a bunch of edge cases I wouldn't normally release
but I just don't know any better
@anko i've been working on a talk proposal for LambdaConf on eslisp
@isiahmeadows i just want React with old IE support, and while Mithril is similar, it has it's own differences
Antti Korpi
@anko
@terinjokes This LambdaConf? That would be so cool. Tell me if I can help.
Terin Stock
@terinjokes
@anko yes, that one
Adam Avramov
@egasimus
hey guys, any news on eslisp?
Antti Korpi
@anko

Hi @egasimus! New job and moving have kept me quite busy, but I've made steps toward read macros (modifiable syntax) tracked at anko/eslisp#24.

I forked Parsimmon into partser; a parser generator where parsers' behaviour can be easily changed without changing the structure of any other parsers that call them. This is logically a lot like the Lithe programming language), and totally not like how Lisp read macros work.

The forefront of this progress is that I have a local fork of sexpr-plus (eslisp's parser) that uses partser as its back-end. It passes sexpr-plus' and eslisp's unit tests. I still need to figure out how to neatly expose the changing-parsers functionality in eslisp. This comment has an overview of my thoughts. The API will probably be super freaky until I understand the full language design implications of this.

Maybe syntax-directed translation would help…

I feel like I can only make progress in continuous 5+-hour blocks of intense concentration. :sweat_smile:

Claudia Meadows
@isiahmeadows
@anko interesting!
ven
@vendethiel
:+1:
Peter
@11111000000

import { element } from 'deku'

import './style'

const DiscountTotal = ({ props : { merchant }}) =>
        merchant ? (
          <div class="discount-total">{ (merchant.discount_short_text) || '' }</div> ) : <div/>

export default DiscountTotal
how to support virtual dom's jxs, like this?
and any suggestions about import/export/=> and other ES6 features?
ven
@vendethiel
JSX is just syntax sugar
Antti Korpi
@anko

@11111000000 There is no good way to do that yet. Eslisp currently has compile-time macros but no parser macros (also called read macros). I plan to introduce those—see #24.

In other words, there is a way to change how the compiler understands the syntax tree (compile-time macros), but there is no way yet of changing how the syntax tree is constructed (parser macros), which is necessary for implementing new kinds of syntax like JSX.

I addressed the ES6 question in a reply to your issue comment instead.

ven
@vendethiel
That's going with a compiler-flag still, yes?
Peter
@11111000000
@ven: @anko: jsx is syntax sugar, but it is a syntax for code as data. We need smth like https://en.wikipedia.org/wiki/SXML -> [virtual-dom array] converter macros
Antti Korpi
@anko
@vendethiel Compiler-flag, or plug-in, or otherwise optional, yep.
Antti Korpi
@anko

@11111000000 Sorry, I thought you meant literally exactly JSX.

It's definitely possible to create an SXML-like language using eslisp macros. I threw together a rough example implementation of an sxml macro, written in JavaScript. It compiles the SXML into a string, but with some more work it could just as well compile to function calls for generating virtual DOM nodes or such. If you'd like to help take this further, I'd love to hear your comments!

Antti Korpi
@anko
Wanting a better templating language for writing a blog (which I still haven't started) was actually the reason I started on eslisp. I wrote whatxml for LiveScript, but still wasn't satisfied, so naturally, I had to write a whole programming language to fix it… it's all one big yak shave.
ven
@vendethiel
so many yaks, so little time
Claudia Meadows
@isiahmeadows
@anko Have you tried my a = -> [.. for &] function? I (and apparently several others) found it useful for nicely interacting with JS vdom libraries like Mithril and React. It works like m 'input[type=radio]' a do # children... in Mithril or React.DOM.input {type: 'radio'} a do # children... in React. It's a similar hack I've found, and it IMHO works very nicely.
Peter
@11111000000
@isiahmeadows: what a fn you say about?
@anko: ok, stay tuned
Claudia Meadows
@isiahmeadows
@11111000000 It basically takes its arguments and converts them to an away. The main benefit is most ergonomics, where the alternative for array literals, []=, requires that you suffix it with a ... due to odd precedence.
ven
@vendethiel
it's unrelated to precedence
it's related to being a hack
but basically, it's -> Array.slice.call(arguments)
or -> [...&]
Not sure why you'd do for here. Performance?
Claudia Meadows
@isiahmeadows
I may be wrong, but I was referring to the []= being odd.
ven
@vendethiel
ah, ok. I was talking about *
well, * is void =, pretty much the same.
Claudia Meadows
@isiahmeadows
If it didn't need suffixed, that would be a solved problem for many. I'm just not knowledgeable about LiveScript's parser to try to send a PR to try to fix it.
ven
@vendethiel
It's not the parser, it's the lexer.
and you really don't want to touch that...
Claudia Meadows
@isiahmeadows
I mean the []= needing to end the list with ....
You said it's the lexer stage?
To be honest, that part I'm even less familiar with, but I wonder if that's where most of the oddities with implicit arrays and objects come from.

basically, it's just parsing

a =
 3

and then passing it to Arr.maybe

because people want that to be a = 3, not a = [3]
anyway, LS is insane and that's no big news :).
Claudia Meadows
@isiahmeadows
I almost wonder if a complete rewrite of the parser would be worth it... That's always been my pain point with LiveScript - a buggy parser/ that's probably a little more forgiving than what it should be.
*parser/lexer
ven
@vendethiel
A language that's not insane would be nice. I've given up, personally, for many reasons.
Claudia Meadows
@isiahmeadows
I've been having similar feelings lately. Ever since first toying around with Eslisp for a bit, I've gotten the idea of a pretty complex Lisp-ish language myself.