J2Sexp.rb -> A simple Ruby script to convert JSON to S-Expressions!

Consider this: it’s much easier to parse S-Expressions than JSON! Plus, in statically typed languages, this script could excel, because it declares the type first. Remember that you can always use my S-Expression parser in C to parse them:

gist.github.com/…/d2f0ac9067521716d2ab31c93948e88…

PS: Is it just me, or ‘JSON to Sexp’ sounds like ‘Jason 2: Sex Pest’?

Faresh,

I wrote this after I learned about attempts to use Scheme as the lingua franca of Web in the early 90s. Someone told me S-Expressions are bascilly XML and well, he’s right.

lemmy.ml/comment/8713988

Was it this exchange? :D

ChubakPDP11,

Yeah!

abbadon420,

Is an s expression easier to parse? Maybe if you have to do it from scratch and you only have minimal memory capacity, like how it used to be when lisp was first designed.

Those aren’t real issues now, we can easily transfer data in objects and use a convenient json parsen to parse it without worrying too much about memory usage.

Shareni,

Sexp parser: looks for open and closed parens

Json parser: looks for delimiters, separators, keys, and values

Maybe it’s slightly more efficient and so can make sense at scale?

odelik,

Feedback:

Format your README better. And don’t be a condescending jerk and say “wikipedia is your friend”. If you can’t explain what you’re doing here we’re going to question your solution. You don’t have to write a white paper, but enough to show you actually understand the concept enough to explain it in brief then you provide links to detailed refefences.

Comment your code. Meaningful names are great, but you should be explaining complex concepts and algorithms within your code. This provides clear intent to people using and maintaining your code if implemented directly.

Lmaydev, (edited )

I’m not sure I agree that a readme needs to explain what s expressions are.

If I wrote a json parser and wouldn’t explain what json was in the readme.

I do agree that a link would be better than telling people to go to Wikipedia though.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@programming.dev
  • rosin
  • thenastyranch
  • osvaldo12
  • cubers
  • InstantRegret
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • Youngstown
  • Durango
  • mdbf
  • slotface
  • ngwrru68w68
  • kavyap
  • JUstTest
  • tacticalgear
  • modclub
  • khanakhh
  • anitta
  • ethstaker
  • tester
  • everett
  • GTA5RPClips
  • normalnudes
  • megavids
  • Leos
  • provamag3
  • lostlight
  • All magazines